Example #1
0
 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);
 }
Example #2
0
 public InputProcessor(CommandProcesser commandProcesser, GameConsoleOptions options, Action toggleInGameDebugger)
 {
     m_commandProcesser = commandProcesser;
     m_options = options;
     m_toggleInGameDebugger = toggleInGameDebugger;
     m_isActive = false;
     CommandHistory = new CommandHistory();
     Out = new List<OutputLine>();
     Buffer = new OutputLine("", OutputLineType.Command);
     m_wrappedKeyEvent = EventHelper.Wrap<KeyArgs>(OnKeyDown);
     MainEngine.GetEngineInstance().CentralDispatch.Register(EventConstants.KeyDown, GetHandlerForEvent(EventConstants.KeyDown));
 }
Example #3
0
 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);
 }