internal override void Display() { if (IsActive) { Vector2 size = new Vector2(200, 100); Vector2 pos = new Vector2(_state.MainWinSize.X / 2 - size.X / 2, _state.MainWinSize.Y / 2 - size.Y / 2); ImGui.SetNextWindowSize(size, ImGuiCond.FirstUseEver); ImGui.SetNextWindowPos(pos, ImGuiCond.Always); ImGui.PushStyleVar(ImGuiStyleVar.WindowPadding, new Vector2(10, 10)); if (ImGui.Begin("Pulsar4X Main Menu", ref IsActive, _flags)) { if (ImGui.Button("Start a New Game", buttonSize)) { //_state.NewGameOptions.IsActive = true; var newgameoptions = NewGameOptions.GetInstance(); newgameoptions.IsActive = true; this.IsActive = false; } if (_state.IsGameLoaded) { if (ImGui.Button("Save Current Game", buttonSize)) { _saveGame = !_saveGame; } if (ImGui.Button("Options", buttonSize)) { SettingsWindow.GetInstance().IsActive = !SettingsWindow.GetInstance().IsActive; IsActive = false; } } ImGui.Button("Resume a Current Game", buttonSize); ImGui.Button("Connect to a Network Game", buttonSize); } if (ImGui.Button("SM Mode", buttonSize)) { var pannel = SMPannel.GetInstance(); _state.ActiveWindow = pannel; pannel.IsActive = true; _state.EnableGameMaster(); this.IsActive = false; } //if (_saveGame) ImGui.End(); ImGui.PopStyleVar(); } }
internal override void Display() { if (IsActive) { Vector2 size = new Vector2(200, 100); Vector2 pos = new Vector2(_uiState.MainWinSize.X / 2 - size.X / 2, _uiState.MainWinSize.Y / 2 - size.Y / 2); ImGui.SetNextWindowSize(size, ImGuiCond.FirstUseEver); ImGui.SetNextWindowPos(pos, ImGuiCond.Always); ImGui.PushStyleVar(ImGuiStyleVar.WindowPadding, new Vector2(10, 10)); if (ImGui.Begin("Pulsar4X Main Menu", ref IsActive, _flags)) { if (ImGui.Button("Start a New Game", buttonSize) || _uiState.debugnewgame) { //_uiState.NewGameOptions.IsActive = true; var newgameoptions = NewGameOptions.GetInstance(); newgameoptions.SetActive(true); this.IsActive = false; } if (_uiState.IsGameLoaded) { if (ImGui.Button("Save Current Game", buttonSize)) { _saveGame = !_saveGame; } if (ImGui.Button("Options", buttonSize)) { SettingsWindow.GetInstance().ToggleActive(); this.SetActive(false); } } ImGui.Button("Resume a Current Game", buttonSize); ImGui.Button("Connect to a Network Game", buttonSize); } if (ImGui.Button("SM Mode", buttonSize)) { var pannel = SMPannel.GetInstance(); _uiState.ActiveWindow = pannel; pannel.SetActive(); _uiState.EnableGameMaster(); this.IsActive = false; } //ImGui.GetForegroundDrawList().AddText(new System.Numerics.Vector2(500, 500), 16777215, "FooBarBaz"); //if (_saveGame) ImGui.End(); ImGui.PopStyleVar(); } }
//constructs the toolbar with the given buttons private ToolBarUI() { _flags = ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoCollapse | ImGuiWindowFlags.NoTitleBar | ImGuiWindowFlags.AlwaysAutoResize; ToolbuttonData btn = new ToolbuttonData() { Picture = _uiState.SDLImageDictionary["DesComp"], TooltipText = "Design a new component or facility", OnClick = new Action(ComponentDesignUI.GetInstance().ToggleActive), GetActive = new Func <bool>(ComponentDesignUI.GetInstance().GetActive) //Opens up the component design menu }; ToolButtons.Add(btn); btn = new ToolbuttonData() { Picture = _uiState.SDLImageDictionary["DesShip"], TooltipText = "Design a new Ship", OnClick = new Action(ShipDesignUI.GetInstance().ToggleActive), GetActive = new Func <bool>(ShipDesignUI.GetInstance().GetActive) //Opens up the ship design menu }; ToolButtons.Add(btn); btn = new ToolbuttonData() { Picture = _uiState.SDLImageDictionary["Research"], TooltipText = "Research", OnClick = new Action(ResearchWindow.GetInstance().ToggleActive), GetActive = new Func <bool>(ResearchWindow.GetInstance().GetActive) //Opens up the research menu }; ToolButtons.Add(btn); btn = new ToolbuttonData() { Picture = _uiState.SDLImageDictionary["GalMap"], TooltipText = "Galaxy Browser", OnClick = new Action(GalaxyWindow.GetInstance().ToggleActive), GetActive = new Func <bool>(GalaxyWindow.GetInstance().GetActive) }; ToolButtons.Add(btn); btn = new ToolbuttonData() { Picture = _uiState.SDLImageDictionary["Ruler"], TooltipText = "Measure distance", OnClick = new Action(DistanceRuler.GetInstance().ToggleActive), GetActive = new Func <bool>(DistanceRuler.GetInstance().GetActive) //Opens the ruler menu }; ToolButtons.Add(btn); btn = new ToolbuttonData() { Picture = _uiState.SDLImageDictionary["Tree"], TooltipText = "View objects in the system", OnClick = new Action(SystemTreeViewer.GetInstance().ToggleActive), GetActive = new Func <bool>(SystemTreeViewer.GetInstance().GetActive) //Display a tree with all objects in the system }; ToolButtons.Add(btn); btn = new ToolbuttonData() { Picture = _uiState.SDLImageDictionary["Tree"], TooltipText = "Spawn ships and planets", OnClick = new Action(EntitySpawnWindow.GetInstance().ToggleActive), GetActive = new Func <bool>(EntitySpawnWindow.GetInstance().GetActive), //Display a tree with all objects in the system }; SMToolButtons.Add(btn); btn = new ToolbuttonData() { Picture = _uiState.SDLImageDictionary["Tree"], TooltipText = "View SM debug info about a body", OnClick = new Action(SMPannel.GetInstance().ToggleActive), GetActive = new Func <bool>(SMPannel.GetInstance().GetActive), //Display a list of bodies with some info about them. }; SMToolButtons.Add(btn); }