package app import "sync" type RuntimeState struct { mu sync.RWMutex DiscordMuted bool LastOCRText string LastTranslate string CurrentWorld string } var runtimeState = &RuntimeState{} var guestTracker *GuestTracker func SetGuestTracker(t *GuestTracker) { guestTracker = t } func GetGuestTracker() *GuestTracker { return guestTracker } func SetDiscordMuted(v bool) { runtimeState.mu.Lock() defer runtimeState.mu.Unlock() runtimeState.DiscordMuted = v } func SetOCRText(v string) { runtimeState.mu.Lock() defer runtimeState.mu.Unlock() runtimeState.LastOCRText = v } func SetTranslateText(v string) { runtimeState.mu.Lock() defer runtimeState.mu.Unlock() runtimeState.LastTranslate = v } func SetCurrentWorld(v string) { runtimeState.mu.Lock() defer runtimeState.mu.Unlock() runtimeState.CurrentWorld = v } func SnapshotRuntime() RuntimeState { runtimeState.mu.RLock() defer runtimeState.mu.RUnlock() return *runtimeState }