示例#1
0
        public bool DrawUI()
        {
            if (rgatState.rgatIsExiting)
            {
                _UIStopped = true;
                return(false);
            }

            var timer = new System.Diagnostics.Stopwatch();

            timer.Start();

            ImGuiWindowFlags window_flags = ImGuiWindowFlags.None;

            window_flags |= ImGuiWindowFlags.NoDecoration;
            window_flags |= ImGuiWindowFlags.DockNodeHost;
            if (_rgatUI !.MenuBarVisible)
            {
                window_flags |= ImGuiWindowFlags.MenuBar;
            }

            window_flags |= ImGuiWindowFlags.NoBringToFrontOnFocus;

            ImGui.GetIO().ConfigWindowsMoveFromTitleBarOnly = true;
            //ImGui.GetIO().ConfigWindowsResizeFromEdges = true;

            ImGui.SetNextWindowPos(new Vector2(0, 0), ImGuiCond.Always);

            ImGui.SetNextWindowSize(new Vector2(_controller !.WindowWidth, _controller.WindowHeight), ImGuiCond.Always);
            //ImGui.SetNextWindowSize(new Vector2(1200, 800), ImGuiCond.Appearing);

            Themes.ApplyGeneralThemeColours();
            //Themes.ApplyThemeColours();


            if (ImGui.Begin("rgat Primary Window", window_flags))
            {
                _rgatUI.HandleUserInput();
                _rgatUI.DrawMain();
                _rgatUI.DrawDialogs();
                _rgatUI.CleanupFrame();
            }
            ImGui.End();

            Themes.ResetThemeColours();


            timer.Stop();
            _rgatUI.UpdateFrameStats(timer.ElapsedMilliseconds);

            if (_shortTimerFired)
            {
                _shortTimerFired = false;
                _rgatUI.ShortTimerFired();
            }



            return(true);
        }