예제 #1
0
        public static void NewCharacterSuccess(NewCharacterSuccess P)
        {
            NewCharacterDialog.CharacterNameTextBox.Enabled = true;
            NewCharacterDialog.ConfirmButton.Enabled        = true;
            NewCharacterDialog.Hide();
            SceneFunctions.ShowMessage("Your character was created successfully.");

            SelectScene.CharacterList.Insert(0, P.CharInfo);
            SelectScene.SelectedIndex = 0;
            SelectScene.UpdateSelectButtons();
        }
예제 #2
0
        private void OpenNewCharacterDialog()
        {
            _character = new NewCharacterDialog {
                Parent = this
            };

            _character.OnCreateCharacter += (o, e) =>
            {
                Network.Enqueue(new C.NewCharacter
                {
                    Name   = _character.NameTextBox.Text,
                    Class  = _character.Class,
                    Gender = _character.Gender
                });
            };
        }
예제 #3
0
        public static void NewCharacter(NewCharacter P)
        {
            NewCharacterDialog.CharacterNameTextBox.Enabled = true;
            NewCharacterDialog.ConfirmButton.Enabled        = true;

            switch (P.Result)
            {
            case 0:
                SceneFunctions.ShowMessage("An error occured when trying create your character.");
                break;

            case 1:
                NewCharacterDialog.Hide();
                SceneFunctions.ShowMessage("Creating new characters is currently disabled.");
                break;

            case 2:
                SceneFunctions.ShowMessage("Your Character Name is not acceptable.");
                NewCharacterDialog.CharacterNameTextBox.SetFocus();
                break;

            case 3:
                SceneFunctions.ShowMessage("The gender you selected does not exist.\n Contact a GM for assistance.");
                break;

            case 4:
                SceneFunctions.ShowMessage("The class you selected does not exist.\n Contact a GM for assistance.");
                break;

            case 5:
                SceneFunctions.ShowMessage("You cannot make anymore then " + Globals.MaxCharacterCount + " Characters.");
                NewCharacterDialog.Hide();
                break;

            case 6:
                SceneFunctions.ShowMessage("A Character with this name already exists.");
                NewCharacterDialog.CharacterNameTextBox.SetFocus();
                break;

#if DEBUG
            default:
                throw new NotImplementedException();
#endif
            }
        }
예제 #4
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                Background = null;
                _character = null;

                ServerLabel           = null;
                CharacterDisplay      = null;
                StartGameButton       = null;
                NewCharacterButton    = null;
                DeleteCharacterButton = null;
                CreditsButton         = null;
                ExitGame         = null;
                CharacterButtons = null;
                LastAccessLabel  = null; LastAccessLabelLabel = null;
                Characters       = null;
                _selected        = 0;
            }

            base.Dispose(disposing);
        }
예제 #5
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                Background = null;
                _character = null;

                ServerLabel = null;
                CharacterDisplay = null;
                StartGameButton = null;
                NewCharacterButton = null;
                DeleteCharacterButton = null; 
                CreditsButton = null;
                ExitGame = null;
                CharacterButtons = null;
                LastAccessLabel = null;LastAccessLabelLabel = null;
                Characters  = null;
                _selected = 0;
            }

            base.Dispose(disposing);
        }
예제 #6
0
        public SelectScene(List<SelectInfo> characters)
        {
            SoundManager.PlaySound(SoundList.SelectMusic, true);
            Disposing += (o, e) => SoundManager.StopSound(SoundList.SelectMusic);


            Characters = characters;
            SortList();

            KeyPress +=SelectScene_KeyPress;

            Background = new MirImageControl
            {
                Index = 64,
                Library = Libraries.Prguse,
                Parent = this,
            };

            Title = new MirImageControl
            {
                Index = 40,
                Library = Libraries.Title,
                Parent = this,
                Location = new Point(364, 12)
            };

            ServerLabel = new MirLabel
                {
                    Location = new Point(322, 44),
                    Parent = Background,
                    Size = new Size(155, 17),
                    Text = "Legend of Mir 2",
                    DrawFormat = TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter
                };
            
            StartGameButton = new MirButton
            {
                Enabled = false,
                HoverIndex = 341,
                Index = 340,
                Library = Libraries.Title,
                Location = new Point(110, 568),
                Parent = Background,
                PressedIndex = 342
            };
            StartGameButton.Click += (o, e) => StartGame();

            NewCharacterButton = new MirButton
                {
                    HoverIndex = 344,
                    Index = 343,
                    Library = Libraries.Title,
                    Location = new Point(230, 568),
                    Parent = Background,
                    PressedIndex = 345,
                    GrayScale = true
                };
            NewCharacterButton.Click += (o, e) => _character = new NewCharacterDialog { Parent = this };

            DeleteCharacterButton = new MirButton
            {
                HoverIndex = 347,
                Index = 346,
                Library = Libraries.Title,
                Location = new Point(350, 568),
                Parent = Background,
                PressedIndex = 348
            };
            DeleteCharacterButton.Click += (o, e) => DeleteCharacter();


            CreditsButton = new MirButton
            {
                HoverIndex = 350,
                Index = 349,
                Library = Libraries.Title,
                Location = new Point(470, 568),
                Parent = Background,
                PressedIndex = 351
            };

            ExitGame = new MirButton
            {
                HoverIndex = 353,
                Index = 352,
                Library = Libraries.Title,
                Location = new Point(590, 568),
                Parent = Background,
                PressedIndex = 354
            };
            ExitGame.Click += (o, e) => Program.Form.Close();


            CharacterDisplay = new MirAnimatedControl
            {
                Animated = true,
                AnimationCount = 16,
                AnimationDelay = 250,
                FadeIn = true,
                FadeInDelay = 75,
                FadeInRate = 0.1F,
                Index = 220,
                Library = Libraries.ChrSel,
                Location = new Point(200, 300),
                Parent = Background,
                UseOffSet = true,
                Visible = false
            };
            CharacterDisplay.AfterDraw += (o, e) =>
            {
               // if (_selected >= 0 && _selected < Characters.Count && characters[_selected].Class == MirClass.Wizard)
                    Libraries.ChrSel.DrawBlend(CharacterDisplay.Index + 560, CharacterDisplay.DisplayLocationWithoutOffSet, Color.White, true);
            };
            
            CharacterButtons = new CharacterButton[4];

            CharacterButtons[0] = new CharacterButton
            {
                Location = new Point(447, 122),
                Parent = Background,
                Sound = SoundList.ButtonA,
            };
            CharacterButtons[0].Click += (o,e) =>
            {
                if (characters.Count <= 0) return;

                _selected = 0;
                UpdateInterface();
            };

            CharacterButtons[1] = new CharacterButton
            {
                Location = new Point(447, 226),
                Parent = Background,
                Sound = SoundList.ButtonA,
            };
            CharacterButtons[1].Click += (o, e) =>
            {
                if (characters.Count <= 1) return;
                _selected = 1;
                UpdateInterface();
            };

            CharacterButtons[2] = new CharacterButton
            {
                Location = new Point(447, 330),
                Parent = Background,
                Sound = SoundList.ButtonA,
            };
            CharacterButtons[2].Click += (o, e) =>
            {
                if (characters.Count <= 2) return;

                _selected = 2;
                UpdateInterface();
            };

            CharacterButtons[3] = new CharacterButton
            {
                Location = new Point(447, 434),
                Parent = Background,
                Sound = SoundList.ButtonA,
            };
            CharacterButtons[3].Click += (o, e) =>
            {
                if (characters.Count <= 3) return;

                _selected = 3;
                UpdateInterface();
            };

            LastAccessLabel = new MirLabel
            {
                Location = new Point(140, 509),
                Parent = Background,
                Size = new Size(180, 21),
                DrawFormat = TextFormatFlags.Left | TextFormatFlags.VerticalCenter,
                Border = true,
            };
            LastAccessLabelLabel = new MirLabel
                {
                    Location = new Point(-80, -1),
                    Parent = LastAccessLabel,
                    Text = "Last Online:",
                    Size = new Size(100, 21),
                    DrawFormat = TextFormatFlags.Left | TextFormatFlags.VerticalCenter,
                    Border = true,
                };
            UpdateInterface();
        }
예제 #7
0
        public SelectScene(List <SelectInfo> characters)
        {
            SoundManager.PlaySound(SoundList.SelectMusic, true);
            Disposing += (o, e) => SoundManager.StopSound(SoundList.SelectMusic);


            Characters = characters;
            SortList();

            KeyPress += SelectScene_KeyPress;

            Background = new MirImageControl
            {
                Index   = 64,
                Library = Libraries.Prguse,
                Parent  = this,
            };

            Title = new MirImageControl
            {
                Index    = 40,
                Library  = Libraries.Title,
                Parent   = this,
                Location = new Point(364, 12)
            };

            ServerLabel = new MirLabel
            {
                Location   = new Point(322, 44),
                Parent     = Background,
                Size       = new Size(155, 17),
                Text       = GameLanguage.GameName,
                DrawFormat = TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter
            };

            StartGameButton = new MirButton
            {
                Enabled      = false,
                HoverIndex   = 341,
                Index        = 340,
                Library      = Libraries.Title,
                Location     = new Point(110, 568),
                Parent       = Background,
                PressedIndex = 342,
                GrayScale    = true
            };
            StartGameButton.Click += (o, e) => StartGame();

            NewCharacterButton = new MirButton
            {
                HoverIndex   = 344,
                Index        = 343,
                Library      = Libraries.Title,
                Location     = new Point(230, 568),
                Parent       = Background,
                PressedIndex = 345,
            };
            NewCharacterButton.Click += (o, e) => _character = new NewCharacterDialog {
                Parent = this
            };

            DeleteCharacterButton = new MirButton
            {
                HoverIndex   = 347,
                Index        = 346,
                Library      = Libraries.Title,
                Location     = new Point(350, 568),
                Parent       = Background,
                PressedIndex = 348
            };
            DeleteCharacterButton.Click += (o, e) => DeleteCharacter();


            CreditsButton = new MirButton
            {
                HoverIndex   = 350,
                Index        = 349,
                Library      = Libraries.Title,
                Location     = new Point(470, 568),
                Parent       = Background,
                PressedIndex = 351
            };

            ExitGame = new MirButton
            {
                HoverIndex   = 353,
                Index        = 352,
                Library      = Libraries.Title,
                Location     = new Point(590, 568),
                Parent       = Background,
                PressedIndex = 354
            };
            ExitGame.Click += (o, e) => Program.Form.Close();


            CharacterDisplay = new MirAnimatedControl
            {
                Animated       = true,
                AnimationCount = 16,
                AnimationDelay = 250,
                FadeIn         = true,
                FadeInDelay    = 75,
                FadeInRate     = 0.1F,
                Index          = 220,
                Library        = Libraries.ChrSel,
                Location       = new Point(200, 300),
                Parent         = Background,
                UseOffSet      = true,
                Visible        = false
            };
            CharacterDisplay.AfterDraw += (o, e) =>
            {
                // if (_selected >= 0 && _selected < Characters.Count && characters[_selected].Class == MirClass.Wizard)
                Libraries.ChrSel.DrawBlend(CharacterDisplay.Index + 560, CharacterDisplay.DisplayLocationWithoutOffSet, Color.White, true);
            };

            CharacterButtons = new CharacterButton[4];

            CharacterButtons[0] = new CharacterButton
            {
                Location = new Point(447, 122),
                Parent   = Background,
                Sound    = SoundList.ButtonA,
            };
            CharacterButtons[0].Click += (o, e) =>
            {
                if (characters.Count <= 0)
                {
                    return;
                }

                _selected = 0;
                UpdateInterface();
            };

            CharacterButtons[1] = new CharacterButton
            {
                Location = new Point(447, 226),
                Parent   = Background,
                Sound    = SoundList.ButtonA,
            };
            CharacterButtons[1].Click += (o, e) =>
            {
                if (characters.Count <= 1)
                {
                    return;
                }
                _selected = 1;
                UpdateInterface();
            };

            CharacterButtons[2] = new CharacterButton
            {
                Location = new Point(447, 330),
                Parent   = Background,
                Sound    = SoundList.ButtonA,
            };
            CharacterButtons[2].Click += (o, e) =>
            {
                if (characters.Count <= 2)
                {
                    return;
                }

                _selected = 2;
                UpdateInterface();
            };

            CharacterButtons[3] = new CharacterButton
            {
                Location = new Point(447, 434),
                Parent   = Background,
                Sound    = SoundList.ButtonA,
            };
            CharacterButtons[3].Click += (o, e) =>
            {
                if (characters.Count <= 3)
                {
                    return;
                }

                _selected = 3;
                UpdateInterface();
            };

            LastAccessLabel = new MirLabel
            {
                Location   = new Point(140, 509),
                Parent     = Background,
                Size       = new Size(180, 21),
                DrawFormat = TextFormatFlags.Left | TextFormatFlags.VerticalCenter,
                Border     = true,
            };
            LastAccessLabelLabel = new MirLabel
            {
                Location   = new Point(-80, -1),
                Parent     = LastAccessLabel,
                Text       = GameLanguage.LastOnline,
                Size       = new Size(100, 21),
                DrawFormat = TextFormatFlags.Left | TextFormatFlags.VerticalCenter,
                Border     = true,
            };
            UpdateInterface();
        }
예제 #8
0
        public SelectScene(List <SelectInfo> characters)
        {
            SoundManager.PlaySound(SoundList.SelectMusic, true);
            Disposing += (o, e) => SoundManager.StopSound(SoundList.SelectMusic);

            Characters = characters;
            SortList();

            KeyPress += SelectScene_KeyPress;

            Background = new MirImageControl
            {
                Index   = 65,
                Library = Libraries.Prguse,
                Parent  = this,
            };

            Title = new MirImageControl
            {
                Index    = 40,
                Library  = Libraries.Title,
                Parent   = this,
                Location = new Point(468, 20)
            };

            ServerLabel = new MirLabel
            {
                Location = new Point(432, 60),
                // Location = new Point(322, 44),
                Parent     = Background,
                Size       = new Size(155, 17),
                Text       = "Legend of Mir 2",
                DrawFormat = TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter
            };

            var xPoint = ((Settings.ScreenWidth - 200) / 5);

            StartGameButton = new MirButton
            {
                Enabled      = false,
                HoverIndex   = 341,
                Index        = 340,
                Library      = Libraries.Title,
                Location     = new Point(100 + (xPoint * 1) - (xPoint / 2) - 50, Settings.ScreenHeight - 32),
                Parent       = Background,
                PressedIndex = 342
            };
            StartGameButton.Click += (o, e) => StartGame();

            NewCharacterButton = new MirButton
            {
                HoverIndex   = 344,
                Index        = 343,
                Library      = Libraries.Title,
                Location     = new Point(100 + (xPoint * 2) - (xPoint / 2) - 50, Settings.ScreenHeight - 32),
                Parent       = Background,
                PressedIndex = 345,
            };
            NewCharacterButton.Click += (o, e) => _character = new NewCharacterDialog {
                Parent = this
            };

            DeleteCharacterButton = new MirButton
            {
                HoverIndex   = 347,
                Index        = 346,
                Library      = Libraries.Title,
                Location     = new Point(100 + (xPoint * 3) - (xPoint / 2) - 50, Settings.ScreenHeight - 32),
                Parent       = Background,
                PressedIndex = 348
            };
            DeleteCharacterButton.Click += (o, e) => DeleteCharacter();


            CreditsButton = new MirButton
            {
                HoverIndex   = 350,
                Index        = 349,
                Library      = Libraries.Title,
                Location     = new Point(100 + (xPoint * 4) - (xPoint / 2) - 50, Settings.ScreenHeight - 32),
                Parent       = Background,
                PressedIndex = 351
            };
            CreditsButton.Click += (o, e) =>
            {
            };

            ExitGame = new MirButton
            {
                HoverIndex   = 353,
                Index        = 352,
                Library      = Libraries.Title,
                Location     = new Point(100 + (xPoint * 5) - (xPoint / 2) - 50, Settings.ScreenHeight - 32),
                Parent       = Background,
                PressedIndex = 354
            };
            ExitGame.Click += (o, e) => Program.Form.Close();


            CharacterDisplay = new MirAnimatedControl
            {
                Animated       = true,
                AnimationCount = 16,
                AnimationDelay = 250,
                FadeIn         = true,
                FadeInDelay    = 75,
                FadeInRate     = 0.1F,
                Index          = 220,
                Library        = Libraries.ChrSel,
                Location       = new Point(260, 420),
                Parent         = Background,
                UseOffSet      = true,
                Visible        = false
            };
            CharacterDisplay.AfterDraw += (o, e) =>
            {
                // if (_selected >= 0 && _selected < Characters.Count && characters[_selected].Class == MirClass.Wizard)
                Libraries.ChrSel.DrawBlend(CharacterDisplay.Index + 560, CharacterDisplay.DisplayLocationWithoutOffSet, Color.White, true);
            };

            CharacterButtons = new CharacterButton[4];

            CharacterButtons[0] = new CharacterButton
            {
                Location = new Point(637, 194),
                Parent   = Background,
                Sound    = SoundList.ButtonA,
            };
            CharacterButtons[0].Click += (o, e) =>
            {
                if (characters.Count <= 0)
                {
                    return;
                }

                _selected = 0;
                UpdateInterface();
            };

            CharacterButtons[1] = new CharacterButton
            {
                Location = new Point(637, 298),
                Parent   = Background,
                Sound    = SoundList.ButtonA,
            };
            CharacterButtons[1].Click += (o, e) =>
            {
                if (characters.Count <= 1)
                {
                    return;
                }
                _selected = 1;
                UpdateInterface();
            };

            CharacterButtons[2] = new CharacterButton
            {
                Location = new Point(637, 402),
                Parent   = Background,
                Sound    = SoundList.ButtonA,
            };
            CharacterButtons[2].Click += (o, e) =>
            {
                if (characters.Count <= 2)
                {
                    return;
                }

                _selected = 2;
                UpdateInterface();
            };

            CharacterButtons[3] = new CharacterButton
            {
                Location = new Point(637, 506),
                Parent   = Background,
                Sound    = SoundList.ButtonA,
            };
            CharacterButtons[3].Click += (o, e) =>
            {
                if (characters.Count <= 3)
                {
                    return;
                }

                _selected = 3;
                UpdateInterface();
            };

            LastAccessLabel = new MirLabel
            {
                Location   = new Point(265, 609),
                Parent     = Background,
                Size       = new Size(180, 21),
                DrawFormat = TextFormatFlags.Left | TextFormatFlags.VerticalCenter,
                Border     = true,
            };
            LastAccessLabelLabel = new MirLabel
            {
                Location   = new Point(-65, 0),
                Parent     = LastAccessLabel,
                Text       = "Last Online:",
                Size       = new Size(100, 21),
                DrawFormat = TextFormatFlags.Left | TextFormatFlags.VerticalCenter,
                Border     = true,
            };
            UpdateInterface();
            Program.discord.UpdateStage(StatusType.GameState, GameState.SelectingCharacter);
            Program.discord.UpdateActivity();
        }
예제 #9
0
        public SelectScene(List <SelectInfo> characters)
        {
            SoundManager.PlaySound(SoundList.SelectMusic, true);
            Disposing += (o, e) => SoundManager.StopSound(SoundList.SelectMusic);

            Characters = characters;
            SortList();

            KeyPress += SelectScene_KeyPress;

            Background = new MirImageControl
            {
                Index   = 65,
                Library = Libraries.Prguse,
                Parent  = this,
            };

            Title = new MirImageControl
            {
                Index    = 40,
                Library  = Libraries.Title,
                Parent   = this,
                Location = new Point(600, 20)   //标题栏图片左侧边缘距离左侧边框位置
            };

            ServerLabel = new MirLabel
            {
                Location = new Point(560, 60),   //选择人物界面上方标题栏位置1280X768位置
                // Location = new Point(432, 60),//选择人物界面上方标题栏位置1024X768大小时位置(432, 60)为左右中心.公式=分辨率宽度/2-80
                Parent     = Background,
                Size       = new Size(155, 17),
                Text       = "热血无限国际传奇Ⅱ", //人物创建选择界面上方游戏标题
                DrawFormat = TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter
            };

            var xPoint = ((Settings.ScreenWidth - 200) / 5);  //底部按钮左右均分位置

            StartGameButton = new MirButton
            {
                Enabled      = false,
                HoverIndex   = 341,
                Index        = 340,
                Library      = Libraries.Title,
                Location     = new Point(100 + (xPoint * 1) - (xPoint / 2) - 50, Settings.ScreenHeight - 32),
                Parent       = Background,
                PressedIndex = 342
            };
            StartGameButton.Click += (o, e) => StartGame();

            NewCharacterButton = new MirButton
            {
                HoverIndex   = 344,
                Index        = 343,
                Library      = Libraries.Title,
                Location     = new Point(100 + (xPoint * 2) - (xPoint / 2) - 50, Settings.ScreenHeight - 32),
                Parent       = Background,
                PressedIndex = 345,
            };
            NewCharacterButton.Click += (o, e) => _character = new NewCharacterDialog {
                Parent = this
            };

            DeleteCharacterButton = new MirButton
            {
                HoverIndex   = 347,
                Index        = 346,
                Library      = Libraries.Title,
                Location     = new Point(100 + (xPoint * 3) - (xPoint / 2) - 50, Settings.ScreenHeight - 32),
                Parent       = Background,
                PressedIndex = 348
            };
            DeleteCharacterButton.Click += (o, e) => DeleteCharacter();


            CreditsButton = new MirButton
            {
                HoverIndex   = 350,
                Index        = 349,
                Library      = Libraries.Title,
                Location     = new Point(100 + (xPoint * 4) - (xPoint / 2) - 50, Settings.ScreenHeight - 32),
                Parent       = Background,
                PressedIndex = 351
            };
            CreditsButton.Click += (o, e) =>
            {
            };

            ExitGame = new MirButton
            {
                HoverIndex   = 353,
                Index        = 352,
                Library      = Libraries.Title,
                Location     = new Point(100 + (xPoint * 5) - (xPoint / 2) - 50, Settings.ScreenHeight - 32),
                Parent       = Background,
                PressedIndex = 354
            };
            ExitGame.Click += (o, e) => Program.Form.Close();


            CharacterDisplay = new MirAnimatedControl   //选择人物展示动画
            {
                Animated       = true,
                AnimationCount = 16,  //动画图片数量
                AnimationDelay = 150, //动画延时250默认
                FadeIn         = true,
                FadeInDelay    = 275, //淡入淡出延时75默认
                FadeInRate     = 0.1F,
                Index          = 220,
                Library        = Libraries.ChrSel,
                Location       = new Point(360, 450), //动画位置(距离左侧距离260, 距离顶部距离420)默认(260, 420)
                Parent         = Background,
                UseOffSet      = true,
                Visible        = false
            };
            CharacterDisplay.AfterDraw += (o, e) =>
            {
                // if (_selected >= 0 && _selected < Characters.Count && characters[_selected].Class == MirClass.Wizard)
                Libraries.ChrSel.DrawBlend(CharacterDisplay.Index + 560, CharacterDisplay.DisplayLocationWithoutOffSet, Color.White, true);
            };

            CharacterButtons = new CharacterButton[4];//人物选择按钮创建4个 CharacterButton[4]

            CharacterButtons[0] = new CharacterButton
            {
                Location = new Point(637, 194),  //人物选择按钮位置
                Parent   = Background,
                Sound    = SoundList.ButtonA,
            };
            CharacterButtons[0].Click += (o, e) =>
            {
                if (characters.Count <= 0)
                {
                    return;
                }

                _selected = 0;
                UpdateInterface();
            };

            CharacterButtons[1] = new CharacterButton
            {
                Location = new Point(637, 298),
                Parent   = Background,
                Sound    = SoundList.ButtonA,
            };
            CharacterButtons[1].Click += (o, e) =>
            {
                if (characters.Count <= 1)
                {
                    return;
                }
                _selected = 1;
                UpdateInterface();
            };

            CharacterButtons[2] = new CharacterButton
            {
                Location = new Point(637, 402),
                Parent   = Background,
                Sound    = SoundList.ButtonA,
            };
            CharacterButtons[2].Click += (o, e) =>
            {
                if (characters.Count <= 2)
                {
                    return;
                }

                _selected = 2;
                UpdateInterface();
            };

            CharacterButtons[3] = new CharacterButton
            {
                Location = new Point(637, 506),
                Parent   = Background,
                Sound    = SoundList.ButtonA,
            };
            CharacterButtons[3].Click += (o, e) =>
            {
                if (characters.Count <= 3)
                {
                    return;
                }

                _selected = 3;
                UpdateInterface();
            };

            LastAccessLabel = new MirLabel  //205行起始
            {
                Location   = new Point(265, 609),
                Parent     = Background,
                Size       = new Size(180, 21),
                DrawFormat = TextFormatFlags.Left | TextFormatFlags.VerticalCenter,
                Border     = true,
            };
            LastAccessLabelLabel = new MirLabel
            {
                Location   = new Point(-65, 0),
                Parent     = LastAccessLabel,
                Text       = "上次在线:",
                Size       = new Size(100, 21),
                DrawFormat = TextFormatFlags.Left | TextFormatFlags.VerticalCenter,
                Border     = true,
            };
            UpdateInterface();
        }