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(); }
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); }
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; }
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; }