Class KeyboardTerminalInputComponent

java.lang.Object
com.csse3200.game.components.Component
com.csse3200.game.input.InputComponent
com.csse3200.game.ui.terminal.KeyboardTerminalInputComponent
All Implemented Interfaces:
com.badlogic.gdx.input.GestureDetector.GestureListener, com.badlogic.gdx.InputProcessor

public class KeyboardTerminalInputComponent extends InputComponent
Input handler for the debug terminal for keyboard and touch (mouse) input. This input handler only uses keyboard input.

The debug terminal can be opened and closed by pressing 'F1' and a message can be entered via the keyboard.

  • Constructor Details

    • KeyboardTerminalInputComponent

      public KeyboardTerminalInputComponent()
    • KeyboardTerminalInputComponent

      public KeyboardTerminalInputComponent(Terminal terminal)
  • Method Details

    • create

      public void create()
      Description copied from class: Component
      Called when the entity is created and registered. Initial logic such as calls to GetComponent should be made here, not in the constructor which is called before an entity is finished.
      Overrides:
      create in class InputComponent
    • keyDown

      public boolean keyDown(int keycode)
      If the toggle key is pressed, the terminal will open / close.

      Otherwise, handles input if the terminal is open. This is because keyDown events are triggered alongside keyTyped events. If the user is typing in the terminal, the input shouldn't trigger any other input handlers.

      Specified by:
      keyDown in interface com.badlogic.gdx.InputProcessor
      Overrides:
      keyDown in class InputComponent
      Returns:
      whether the input was processed
      See Also:
      • InputProcessor.keyDown(int)
    • keyTyped

      public boolean keyTyped(char character)
      Handles input if the terminal is open. If 'enter' is typed, the entered message will be processed, otherwise the message will be updated with the new character.
      Specified by:
      keyTyped in interface com.badlogic.gdx.InputProcessor
      Overrides:
      keyTyped in class InputComponent
      Returns:
      whether the input was processed
      See Also:
      • InputProcessor.keyTyped(char)
    • keyUp

      public boolean keyUp(int keycode)
      Handles input if the terminal is open. This is because keyUp events are triggered alongside keyTyped events. If the user is typing in the terminal, the input shouldn't trigger any other input handlers.
      Specified by:
      keyUp in interface com.badlogic.gdx.InputProcessor
      Overrides:
      keyUp in class InputComponent
      Returns:
      whether the input was processed
      See Also:
      • InputProcessor.keyUp(int)