Exemplo n.º 1
0
        public EmitterSettingsController(ImGuiManager imGuiManager,
                                         SettingsCommandHandler commandHandler,
                                         ApplicationState applicationState,
                                         AppOperationQueue appOperationQueue,
                                         ITextureFileLoader textureFileLoader,
                                         MonoGameImGuiRenderer monoGameImGuiRenderer)
        {
            _commandHandler        = commandHandler;
            _applicationState      = applicationState;
            _appOperationQueue     = appOperationQueue;
            _textureFileLoader     = textureFileLoader;
            _monoGameImGuiRenderer = monoGameImGuiRenderer;

            _workbench = new Workbench(commandHandler)
            {
                IsVisible = false
            };
            imGuiManager.AddElement(_workbench);

            _activeEditorWindow = new ActiveEditorWindow()
            {
                IsVisible = false
            };
            imGuiManager.AddElement(_activeEditorWindow);

            _workbench.PropertyChanged          += WorkbenchOnPropertyChanged;
            _workbench.ModifierRemovalRequested += WorkbenchOnModifierRemovalRequested;
        }
Exemplo n.º 2
0
        protected override void Initialize()
        {
            var imGuiRenderer = new MonoGameImGuiRenderer(this);

            imGuiRenderer.Initialize();

            _imGuiManager = new ImGuiManager(imGuiRenderer);
            _imGuiManager.AddElement(_demoWindowElement);
            _imGuiManager.AddElement(_entityDataWindow);

            _entityDataWindow.IsVisible = true;

            base.Initialize();
        }
Exemplo n.º 3
0
        override protected void Initialize()
        {
            base.Initialize();

#if DEBUG
            System.Diagnostics.Debug.Listeners.Add(new System.Diagnostics.TextWriterTraceListener(System.Console.Out));

            // render Nez in the imgui window in debug mode
            var imGuiManager = new ImGuiManager();
            Core.RegisterGlobalManager(imGuiManager);
#endif

            Scene = new DefaultScene();
        }
Exemplo n.º 4
0
        override protected void Initialize()
        {
            base.Initialize();

            Scene = new DefaultScene();

#if DEBUG
            System.Diagnostics.Debug.Listeners.Add(new System.Diagnostics.TextWriterTraceListener(System.Console.Out));

            // optionally render Nez in an ImGui window
            var imGuiManager = new ImGuiManager();
            Core.RegisterGlobalManager(imGuiManager);

            // optionally load up ImGui DLL if not using the above setup so that its command gets loaded in the DebugConsole
            //System.Reflection.Assembly.Load("Nez.ImGui")
#endif
        }
        public override void Initialize()
        {
            base.Initialize();

            _imGuiManager = new ImGuiManager();
            Core.RegisterGlobalManager(_imGuiManager);

            ClearColor = Color.CornflowerBlue;

            SetDesignResolution(1360, 768, SceneResolutionPolicy.ShowAllPixelPerfect);
            Screen.SetSize(1920, 1080);

            CreateEntity("mouse-entity").AddComponent(new MouseEntityComponent());
            var path = CreateEntity("path-builder").AddComponent(new PathComponent(new Path()));

            CreateEntity("sb-base").AddComponent(new SteeringBehaviors(path));
        }
Exemplo n.º 6
0
        override protected void Initialize()
        {
            base.Initialize();

            // Toggles ImGui Inspector
            DebugToggle = new VirtualButton().AddKeyboardKey(Keys.F1);

            // Adding the ImGui manager with a minimal approach.
            var mgr = new ImGuiManager();

            mgr.ShowSeperateGameWindow = false;
            mgr.ShowCoreWindow         = false;

            RegisterGlobalManager(mgr);
            mgr.SetEnabled(false);

            // Finally move into the example scene. Change this to wherever you wanna go!
            Scene = new ExampleScene();
        }
Exemplo n.º 7
0
        static void ToggleImGui()
        {
            if (_needsFullRenderSizeForUi)
            {
                DebugConsole.Instance.Log("Error: due to the way the sample scenes are assembled, only full screen sample scenes can use ImGui");
                return;
            }

            // install the service if it isnt already there
            var service = Core.GetGlobalManager <ImGuiManager>();

            if (service == null)
            {
                service = new ImGuiManager();
                Core.RegisterGlobalManager(service);
            }
            else
            {
                service.SetEnabled(!service.Enabled);
            }
        }
Exemplo n.º 8
0
        public EditorUiController(ImGuiManager imGuiManager,
                                  SettingsCommandHandler commandHandler,
                                  AppOperationQueue appOperationQueue,
                                  ApplicationState applicationState,
                                  ITextureFileLoader textureFileLoader,
                                  MonoGameImGuiRenderer monoGameImGuiRenderer)
        {
            _imGuiManager      = imGuiManager;
            _appOperationQueue = appOperationQueue;
            _applicationState  = applicationState;

            _imguiDemoWindow = new DemoWindow {
                IsVisible = false
            };
            _imGuiManager.AddElement(_imguiDemoWindow);

            var appToolbar = new AppToolbar(_appOperationQueue, _applicationState);

            _imGuiManager.AddElement(appToolbar);

            _newFileDialog = new NewFileDialog();
            _newFileDialog.CreateButtonClicked += NewFileDialogOnCreateButtonClicked;
            _newFileDialog.ModalClosed         += NewFileDialogOnModalClosed;
            _imGuiManager.AddElement(_newFileDialog);

            _messagePopup              = new MessagePopup();
            _messagePopup.ModalClosed += MessagePopupOnModalClosed;
            _imGuiManager.AddElement(_messagePopup);

            _emitterSettingsController = new EmitterSettingsController(imGuiManager,
                                                                       commandHandler,
                                                                       applicationState,
                                                                       appOperationQueue,
                                                                       textureFileLoader,
                                                                       monoGameImGuiRenderer);

            appToolbar.NewMenuItemClicked  += AppToolbarOnNewMenuItemClicked;
            appToolbar.OpenMenuItemClicked += AppToolbarOnOpenMenuItemClicked;
            appToolbar.SaveMenuItemClicked += AppToolbarOnSaveMenuItemClicked;
        }
Exemplo n.º 9
0
        protected override void Initialize()
        {
            _applicationState          = new ApplicationState(_graphicsDeviceManager.GraphicsDevice);
            _emitterSpriteBatchHandler = new EmitterSpriteBatchHandler(_graphicsDeviceManager.GraphicsDevice);
            _graphicsDeviceManager.PreferredBackBufferWidth  = 1024;
            _graphicsDeviceManager.PreferredBackBufferHeight = 768;
            _graphicsDeviceManager.ApplyChanges();

            _gridTexture = SetupGridTexture(GraphicsDevice, 32);
            _spriteBatch = new SpriteBatch(GraphicsDevice);

            _textureFileLoader  = new TextureFileLoader(GraphicsDevice, _applicationState);
            _emitterRenderGroup = new MonoGameEmitterRenderGroup(GraphicsDevice);

            ResetRenderTarget();
            ResetCamera();
            _applicationState.Zoom = 1;

            var monoGameImGuiRenderer = new MonoGameImGuiRenderer(this);

            _imGuiManager = new ImGuiManager(monoGameImGuiRenderer);
            _uiController = new EditorUiController(_imGuiManager,
                                                   _commandHandler,
                                                   _appOperationQueue,
                                                   _applicationState,
                                                   _textureFileLoader,
                                                   monoGameImGuiRenderer);

            _inputHandler = new InputHandler(_uiController, _camera, _commandHandler, _appOperationQueue, _applicationState);
            _inputHandler.ResetCameraAndEmitterRequested += (sender, args) => ResetCamera(true);

            _uiController.WindowResized(GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height);

            _appOperationQueue.Enqueue(new UpdateMiscOptionsRequested
            {
                UpdatedSamplerState = SamplerState.PointClamp,
            });

            base.Initialize();
        }
Exemplo n.º 10
0
        public PlotterUi(Game game, AppSettings appSettings, ScriptManager scriptManager, OnScreenLogger onScreenLogger)
        {
            _appSettings    = appSettings;
            _scriptManager  = scriptManager;
            _onScreenLogger = onScreenLogger;

            var renderer = new MonoGameImGuiRenderer(game);

            renderer.Initialize();

            _imGuiManager = new ImGuiManager(renderer);

            _imGuiDemoWindow = new ImGuiDemoWindow();
            _imGuiManager.AddElement(_imGuiDemoWindow);

            var messageOverlay = new MessageOverlay(onScreenLogger)
            {
                IsVisible = true
            };

            messageOverlay.DismissMostRecentMessageClicked +=
                (sender, args) => _onScreenLogger.RemoveMostRecentMessage();

            _imGuiManager.AddElement(messageOverlay);

            AppToolbar = new AppToolbar(_scriptManager, _appSettings)
            {
                IsVisible = true
            };
            _imGuiManager.AddElement(AppToolbar);

            _imGuiManager.AddElement(new ImGuiSettings {
                IsVisible = true
            });

            AppToolbar.SettingsClicked += (sender, args) => CreateSettingsWindow();
            AppToolbar.NewClicked      += (sender, args) => CreateNewFileDialog();
            AppToolbar.OpenClicked     += (sender, args) => OpenScriptFile(args);
        }
Exemplo n.º 11
0
        override protected void Initialize()
        {
            base.Initialize();

            configure();
            onDebug();

            Core.Scene = new RlScene();
            Core.Scene.SetDesignResolution(CoreSettings.debugW, CoreSettings.debugH, CoreSettings.policy);
            Core.Scene.Camera.RawZoom = CoreSettings.resolutionScale;

            // inner functions

            void configure()
            {
                Nez.Core.ExitOnEscapeKeypress       = false;
                Nez.Console.DebugConsole.ConsoleKey = Keys.OemSemicolon;

                base.IsFixedTimeStep = CoreSettings.isFixedTimeStep;
                this.setFps(CoreSettings.fps);
                this.setEnableVSync(CoreSettings.vsync);
            }

#if DEBUG
            void onDebug()
            {
                // Enables VSCode debug console to see the debug log.
                System.Diagnostics.Debug.Listeners.Add(new System.Diagnostics.TextWriterTraceListener(System.Console.Out));
                // TODO: change font of ImGUI
                var options      = new ImGuiOptions().AddFont(Nez.Content.Fonts.Arial24, 24);
                var imGuiManager = new ImGuiManager(options);

                imGuiManager.ShowSeperateGameWindow = false;
                Core.RegisterGlobalManager(imGuiManager);
                ImGui.GetStyle().Alpha = 0.75f;
            }
#endif
        }