Esempio n. 1
0
        public WindowMainMenu()
        {
            bmpMenu = new VCBitmap(this, 0, 0, Program.formMain.bmpMainMenu);
            Width   = bmpMenu.Width;
            Height  = bmpMenu.Height;

            btnTournament        = new VCButton(bmpMenu, 80, 88, "Турнир");
            btnTournament.Width  = Width - 80 - 80;
            btnTournament.Click += BtnTournament_Click;

            btnExit        = new VCButton(bmpMenu, 80, bmpMenu.Height - 96, "Выход");
            btnExit.Width  = Width - 80 - 80;
            btnExit.Click += BtnExit_Click;

            btnABoutProgram        = new VCButton(bmpMenu, 80, btnExit.ShiftY - 48, "О программе");
            btnABoutProgram.Width  = Width - 80 - 80;
            btnABoutProgram.Click += BtnAboutProgram_Click;

            btnPreferences        = new VCButton(bmpMenu, 80, btnABoutProgram.ShiftY - 48, "Настройки");
            btnPreferences.Width  = Width - 80 - 80;
            btnPreferences.Click += BtnPreferences_Click;

            btnPlayers        = new VCButton(bmpMenu, 80, btnPreferences.ShiftY - 48, "Игроки");
            btnPlayers.Width  = Width - 80 - 80;
            btnPlayers.Click += BtnPlayers_Click;

            CancelButton = btnExit;
        }
        public WindowAboutProgram() : base()
        {
            windowCaption.Caption = FormMain.NAME_PROJECT;

            ClientControl.Width = 560;

            txtAboutProject            = new VCTextM2(ClientControl, 0, 0, Program.formMain.fontParagraph, Color.White, ClientControl.Width);
            txtAboutProject.ShowBorder = true;
            txtAboutProject.Text       = "Автобаттлер на основе \"Majesty 2: The Fantasy Kingdom Sim.\"\n\rПроект разрабатывается для проверки концепции автобаттлера во вселенной Majesty и бесплатен для использования."
                                         + "\n\rВ игре использованы графические и звуковые ресурсы из Majesty 2 (разработчик Ino-Co при участии Paradox Interactive)."
                                         + $"\n\rСборка {FormMain.VERSION} от {FormMain.DATE_VERSION}.\n\r \n\r";
            txtAboutProject.Padding = new Padding(4);
            txtAboutProject.Height  = txtAboutProject.MinHeigth() + FormMain.Config.GridSize;

            linkRoadmap        = new VCLink(txtAboutProject, FormMain.Config.GridSize, 0, "Дорожная карта", "https://docs.google.com/document/d/1LCYOQM2Rxf-KXgc8VmsWx1K0W97vhTwsHMQiwZr4z8Q/edit?usp=sharing");
            linkRoadmap.ShiftY = txtAboutProject.Height - linkRoadmap.Height - 8;
            linkDesignDoc      = new VCLink(txtAboutProject, linkRoadmap.NextLeft() + FormMain.Config.GridSize, linkRoadmap.ShiftY, "Дизайн-документ", "https://docs.google.com/document/d/12Jw_20kLgtPcKbpVl9Ry4NawdG9dybXgvNPReBHWH2Q/edit?usp=sharing");
            linkGithub         = new VCLink(txtAboutProject, linkDesignDoc.NextLeft() + FormMain.Config.GridSize, linkRoadmap.ShiftY, "GitHub", "https://github.com/CyberMaxRu/The-Fantasy-Kingdoms-Battle");

            txtAboutDeveloper            = new VCTextM2(ClientControl, 0, txtAboutProject.NextTop(), Program.formMain.fontParagraph, Color.White, ClientControl.Width);
            txtAboutDeveloper.ShowBorder = true;
            txtAboutDeveloper.Text       = "Разработчик: Кузьмин М.А.\n\rИсходный код написан на C# под .NET Framework 4.8 с рендерингом через GDI+. Использованы только стандартные компоненты, кроме работы c zip."
                                           + "\n\rРазработка ведется как проекта с открытым исходным кодом.";
            txtAboutDeveloper.StringFormat.Alignment = StringAlignment.Near;
            txtAboutDeveloper.Padding = new Padding(4);
            txtAboutDeveloper.Height  = txtAboutDeveloper.MinHeigth() + FormMain.Config.GridSize;

            txtAddInfo      = new VCTextM2(ClientControl, 0, txtAboutDeveloper.NextTop(), Program.formMain.fontParagraph, Color.White, ClientControl.Width);
            txtAddInfo.Text = "Игра создается при поддержке проекта \"Возрождение\":"
                              + "\n\r \n\r \n\rОтдельная благодарность: Владиславу Франёву, участникам Discord-сервера: Феркасс, Герцог Тьмы, Ice_Cube."
                              + "\n\rПомочь проекту автобаттлера можно своими предложениями (в Discord), участием в тестировании и распространении информации об игре.";
            txtAddInfo.StringFormat.Alignment = StringAlignment.Near;
            txtAddInfo.Height = txtAddInfo.MinHeigth();

            linkRebirdh = new VCLink(txtAddInfo, 0, 28, "Проект \"Возрождение\" в ВК", "https://vk.com/majesty_2_vozrozhdeniye");
            linkDiscord = new VCLink(txtAddInfo, linkRebirdh.NextLeft() + FormMain.Config.GridSize, linkRebirdh.ShiftY, "Приглашение в Discord", "https://discord.com/invite/3R4PDsR");

            btnCheckUpdates        = new VCButton(ClientControl, 0, txtAddInfo.NextTop(), "Проверить обновление");
            btnCheckUpdates.Width  = 256;
            btnCheckUpdates.Click += BtnCheckUpdates_Click;

            btnClose        = new VCButton(ClientControl, 0, txtAddInfo.NextTop(), "Закрыть");
            btnClose.ShiftX = ClientControl.Width - btnClose.Width;
            btnClose.Click += BtnClose_Click;

            AcceptButton = btnClose;
            CancelButton = btnClose;

            ClientControl.Height = btnClose.NextTop();
        }
Esempio n. 3
0
        public WindowPreferences() : base()
        {
            windowCaption.Caption = "Настройки";

            vcPanelGame            = new VisualControl(ClientControl, 0, 0);
            vcPanelGame.ShowBorder = true;
            lblCaptionPanelGame    = new VCLabelM2(vcPanelGame, FormMain.Config.GridSize, 8, Program.formMain.fontMedCaption, Color.PaleTurquoise, 24, "Общие настройки:");
            lblCaptionPanelGame.StringFormat.Alignment = StringAlignment.Near;
            chkbShowSplashVideo       = new VCCheckBox(vcPanelGame, FormMain.Config.GridSize, lblCaptionPanelGame.NextTop(), "Показывать видео-заставку");
            chkbShowSplashVideo.Width = 320;
            chkbWindowMode            = new VCCheckBox(vcPanelGame, FormMain.Config.GridSize, chkbShowSplashVideo.NextTop(), "Оконный режим");
            chkbWindowMode.Width      = 320;
            chkbCheckUpdates          = new VCCheckBox(vcPanelGame, FormMain.Config.GridSize, chkbWindowMode.NextTop(), "Проверять обновления при запуске");
            chkbCheckUpdates.Width    = 320;
            vcPanelGame.ApplyMaxSize();
            vcPanelGame.Height       += 8;
            lblCaptionPanelGame.Width = vcPanelGame.Width - (FormMain.Config.GridSize * 2);

            vcPanelBatttlefield            = new VisualControl(ClientControl, 0, vcPanelGame.NextTop());
            vcPanelBatttlefield.ShowBorder = true;
            lblCaptionPanelBattlefield     = new VCLabelM2(vcPanelBatttlefield, FormMain.Config.GridSize, 8, Program.formMain.fontMedCaption, Color.PaleTurquoise, 24, "Настройки битвы:");
            lblCaptionPanelBattlefield.StringFormat.Alignment = StringAlignment.Near;
            chkbShowPath       = new VCCheckBox(vcPanelBatttlefield, FormMain.Config.GridSize, lblCaptionPanelBattlefield.NextTop(), "Показывать путь юнитов");
            chkbShowPath.Width = 320;
            chkbShowGrid       = new VCCheckBox(vcPanelBatttlefield, FormMain.Config.GridSize, chkbShowPath.NextTop(), "Показывать сетку");
            chkbShowGrid.Width = 320;
            vcPanelBatttlefield.ApplyMaxSize();
            vcPanelBatttlefield.Height      += 8;
            lblCaptionPanelBattlefield.Width = vcPanelBatttlefield.Width - (FormMain.Config.GridSize * 2);

            btnAccept         = new VCButton(ClientControl, 0, vcPanelBatttlefield.NextTop() + (FormMain.Config.GridSize * 2), "Принять");
            btnAccept.Width   = 160;
            btnAccept.Click  += BtnAccept_Click;
            btnDefault        = new VCButton(ClientControl, btnAccept.NextLeft(), btnAccept.ShiftY, "Базовые");
            btnDefault.Width  = 160;
            btnDefault.Click += BtnDefault_Click;
            btnCancel         = new VCButton(ClientControl, btnDefault.NextLeft(), btnAccept.ShiftY, "Отмена");
            btnCancel.Width   = 160;
            btnCancel.Click  += BtnCancel_Click;

            AcceptButton = btnAccept;
            CancelButton = btnCancel;

            ClientControl.Width       = btnCancel.ShiftX + btnCancel.Width + btnCancel.Left;
            ClientControl.Height      = btnCancel.NextTop();
            vcPanelGame.Width         = ClientControl.Width - (vcPanelGame.ShiftX * 2);
            vcPanelBatttlefield.Width = ClientControl.Width - (vcPanelBatttlefield.ShiftX * 2);
        }
Esempio n. 4
0
        public FormConfirmExit() : base()
        {
            windowCaption.Caption = "Выход из программы";

            textConfirm        = new VCTextM2(ClientControl, 0, 0, Program.formMain.fontParagraph, Color.White, ClientControl.Width);
            textConfirm.Text   = "Выход приведет к потере текущей игры.\r\nПродолжить?";
            textConfirm.Height = textConfirm.MinHeigth();

            btnOk            = new VCButton(ClientControl, 0, 100, "Да");
            btnOk.Width      = 160;
            btnOk.Click     += BtnOk_Click;
            btnCancel        = new VCButton(ClientControl, 200, 100, "Нет");
            btnCancel.Width  = 160;
            btnCancel.Click += BtnCancel_Click;

            AcceptButton = btnOk;
            CancelButton = btnCancel;
        }
Esempio n. 5
0
        public WindowMenuInGame()
        {
            bmpMenu = new VCBitmap(this, 0, 0, Program.formMain.bmpMenuInGame);
            Width   = bmpMenu.Width;
            Height  = bmpMenu.Height;

            btnBackToGame        = new VCButton(bmpMenu, 80, 72, "Вернуться к игре");
            btnBackToGame.Width  = Width - 80 - 80;
            btnBackToGame.Click += BtnBackToGame_Click;

            btnNewGame        = new VCButton(bmpMenu, 80, btnBackToGame.NextTop(), "Новая игра");
            btnNewGame.Width  = Width - 80 - 80;
            btnNewGame.Click += BtnNewGame_Click;

            btnExitToWindows        = new VCButton(bmpMenu, 80, bmpMenu.Height - 96, "Выход в Windows");
            btnExitToWindows.Width  = Width - 80 - 80;
            btnExitToWindows.Click += BtnExitToWindows_Click;

            btnSettings        = new VCButton(bmpMenu, 80, btnExitToWindows.ShiftY - 48, "Настройки");
            btnSettings.Width  = Width - 80 - 80;
            btnSettings.Click += BtnSettings_Click;

            CancelButton = btnBackToGame;
        }