public DeveloperModeView(Game game) { _game = game; var window = game.Window; _imGuiRenderer = AddDisposable(new ImGuiRenderer( window.GraphicsDevice, window.GraphicsDevice.MainSwapchain.Framebuffer.OutputDescription, window.ClientBounds.Width, window.ClientBounds.Height)); void OnWindowSizeChanged(object sender, EventArgs e) { _imGuiRenderer.WindowResized(window.ClientBounds.Width, window.ClientBounds.Height); } window.ClientSizeChanged += OnWindowSizeChanged; AddDisposeAction(() => window.ClientSizeChanged -= OnWindowSizeChanged); _commandList = AddDisposable(window.GraphicsDevice.ResourceFactory.CreateCommandList()); _mainView = AddDisposable(new MainView(new DiagnosticViewContext(game, _imGuiRenderer))); ImGuiUtility.SetupDocking(); }
public DeveloperModeView(Game game, GameWindow window) { _game = game; _window = window; _imGuiRenderer = AddDisposable(new ImGuiRenderer( game.GraphicsDevice, game.GraphicsDevice.MainSwapchain.Framebuffer.OutputDescription, window.ClientBounds.Width, window.ClientBounds.Height)); void OnWindowSizeChanged(object sender, EventArgs e) { _imGuiRenderer.WindowResized(window.ClientBounds.Width, window.ClientBounds.Height); } window.ClientSizeChanged += OnWindowSizeChanged; AddDisposeAction(() => window.ClientSizeChanged -= OnWindowSizeChanged); var inputMessageHandler = new CallbackMessageHandler( HandlingPriority.Window, message => { if (_isGameViewFocused && message.MessageType == InputMessageType.KeyDown && message.Value.Key == Key.Escape) { _isGameViewFocused = false; return(InputMessageResult.Handled); } return(InputMessageResult.NotHandled); }); game.InputMessageBuffer.Handlers.Add(inputMessageHandler); AddDisposeAction(() => game.InputMessageBuffer.Handlers.Remove(inputMessageHandler)); _commandList = AddDisposable(game.GraphicsDevice.ResourceFactory.CreateCommandList()); ImGuiUtility.SetupDocking(); _mainView = AddDisposable(new MainView(new DiagnosticViewContext(game, window, _imGuiRenderer))); }