using System; using System.Collections.Generic; namespace LightlessSync.LightlessConfiguration.Configurations; [Serializable] public sealed class ChatConfig : ILightlessConfiguration { public int Version { get; set; } = 1; public bool AutoEnableChatOnLogin { get; set; } = false; public bool ShowRulesOverlayOnOpen { get; set; } = true; public bool ShowMessageTimestamps { get; set; } = true; public bool ShowNotesInSyncshellChat { get; set; } = true; public bool EnableAnimatedEmotes { get; set; } = true; public float EmoteScale { get; set; } = 1.5f; public bool EnableMentionNotifications { get; set; } = true; public bool AutoOpenChatOnNewMessage { get; set; } = false; public float ChatWindowOpacity { get; set; } = .97f; public bool FadeWhenUnfocused { get; set; } = false; public float UnfocusedWindowOpacity { get; set; } = 0.6f; public bool IsWindowPinned { get; set; } = false; public bool AutoOpenChatOnPluginLoad { get; set; } = false; public float ChatFontScale { get; set; } = 1.0f; public bool HideInCombat { get; set; } = false; public bool HideInDuty { get; set; } = false; public bool ShowWhenUiHidden { get; set; } = true; public bool ShowInCutscenes { get; set; } = true; public bool ShowInGpose { get; set; } = true; public bool PersistSyncshellHistory { get; set; } = false; public List ChannelOrder { get; set; } = new(); public Dictionary HiddenChannels { get; set; } = new(StringComparer.Ordinal); public Dictionary SyncshellChannelHistory { get; set; } = new(StringComparer.Ordinal); public Dictionary PreferNotesForChannels { get; set; } = new(StringComparer.Ordinal); }