public GameConsole(Game game, SpriteBatch spriteBatch, GameConsoleOptions options, Action toggleInGameDebugger) : base(game) { m_options = options; Enabled = true; m_spriteBatch = spriteBatch; m_inputProcesser = new InputProcessor(new CommandProcesser(), m_options, toggleInGameDebugger); m_inputProcesser.Open += (s, e) => m_renderer.Open(); m_inputProcesser.Close += (s, e) => m_renderer.Close(); m_renderer = new Renderer(game, spriteBatch, m_inputProcesser, m_options); }
public Renderer(Game game, SpriteBatch spriteBatch, InputProcessor inputProcessor, GameConsoleOptions options) { m_currentState = State.Closed; m_width = game.GraphicsDevice.Viewport.Width; m_options = options; m_position = m_closedPosition = new Vector2(m_options.Margin, -m_options.Height); m_openedPosition = new Vector2(m_options.Margin, 0); m_spriteBatch = spriteBatch; m_inputProcessor = inputProcessor; m_pixel = new Texture2D(game.GraphicsDevice, 1, 1,false, SurfaceFormat.Color); m_pixel.SetData(new[] { Color.White }); m_firstCommandPositionOffset = Vector2.Zero; m_oneCharacterWidth = m_options.Font.MeasureString("x").X; m_maxCharactersPerLine = (int)((Bounds.Width - m_options.Padding * 2) / m_oneCharacterWidth); }