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