示例#1
0
        private void ExecuteDeleteProfileCommand(
            CharacterProfileModel parameter)
        {
            if (parameter == null)
            {
                return;
            }

            if (this.Config.CharacterProfileList.Contains(parameter))
            {
                var selectIndex = this.Config.CharacterProfileList.IndexOf(parameter) - 1;
                if (selectIndex < 0)
                {
                    selectIndex = 0;
                }

                this.Config.CharacterProfileList.Remove(parameter);

                if (this.Config.CharacterProfileList.Count > 0)
                {
                    this.ChangeSelectedPageCallback?.Invoke(
                        this.Config.CharacterProfileList[selectIndex]);
                }
            }
        }
示例#2
0
        public static Config Load()
        {
            MigrateConfig(FileName);

            var config = Config.Load <Config>(
                FileName,
                out bool isFirstLoad);

            // チャットページに親オブジェクトを設定する
            foreach (var overlay in config.ChatOverlaySettings)
            {
                foreach (var page in overlay.ChatPages)
                {
                    page.ParentOverlaySettings = overlay;
                }
            }

            if (isFirstLoad)
            {
                config.CharacterProfileList = CreateDefaultCharacterProfile();
                config.CharacterProfileList.First().ChannelLinkerList.AddRange(
                    CharacterProfileModel.CreateDefaultChannelLinkers());

                config.DiscordBotList     = CreateDefaultDiscordBots();
                config.DiscordChannelList = CreateDefaultDiscordChannels();
            }

            return(config);
        }
示例#3
0
        private void ExecuteAddProfileCommand()
        {
            var model = new CharacterProfileModel()
            {
                CharacterName = "Your Character",
                IsEnabled     = true,
            };

            model.ChannelLinkerList.AddRange(
                CharacterProfileModel.CreateDefaultChannelLinkers());

            this.Config.CharacterProfileList.Add(model);
            this.ChangeSelectedPageCallback?.Invoke(model);
        }