Пример #1
0
        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();
            }
        }
Пример #2
0
        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();
            }
        }
Пример #3
0
        //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);
        }