Package com.csse3200.game.input
Class InputComponent
java.lang.Object
com.csse3200.game.components.Component
com.csse3200.game.input.InputComponent
- All Implemented Interfaces:
com.badlogic.gdx.input.GestureDetector.GestureListener,com.badlogic.gdx.InputProcessor,com.badlogic.gdx.utils.Json.Serializable
- Direct Known Subclasses:
InputDecorator,KeyboardPlayerInputComponent,KeyboardTerminalInputComponent,KeyboardTractorInputComponent,TouchPlayerInputComponent,TouchTerminalInputComponent,TouchTractorInputComponent
public abstract class InputComponent
extends Component
implements com.badlogic.gdx.InputProcessor, com.badlogic.gdx.input.GestureDetector.GestureListener
An InputComponent that supports keyboard and touch input and touch gestures. By default an
InputComponent does not handle any input events.
Subclasses of InputComponent should override relevant methods to handle input. Ensure the priority is set in the subclass' constructor.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intThe priority that the input handler is visited in by InputService. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedSets priority to the default value;protectedInputComponent(int priority) Sets input handler priority to a given value. -
Method Summary
Modifier and TypeMethodDescriptionvoidcreate()Called when the entity is created and registered.voiddispose()Called when the component is disposed.booleanfling(float velocityX, float velocityY, int button) intbooleankeyDown(int keycode) booleankeyTyped(char character) booleankeyUp(int keycode) booleanlongPress(float x, float y) booleanmouseMoved(int screenX, int screenY) booleanpan(float x, float y, float deltaX, float deltaY) booleanpanStop(float x, float y, int pointer, int button) booleanpinch(com.badlogic.gdx.math.Vector2 initialPointer1, com.badlogic.gdx.math.Vector2 initialPointer2, com.badlogic.gdx.math.Vector2 pointer1, com.badlogic.gdx.math.Vector2 pointer2) voidbooleanWrapper for pinch stop that can be overridden.booleanscrolled(float amountX, float amountY) voidsetPriority(int priority) booleantap(float x, float y, int count, int button) booleantouchDown(float x, float y, int pointer, int button) booleantouchDown(int screenX, int screenY, int pointer, int button) booleantouchDragged(int screenX, int screenY, int pointer) booleantouchUp(int screenX, int screenY, int pointer, int button) booleanzoom(float initialDistance, float distance) Methods inherited from class com.csse3200.game.components.Component
earlyUpdate, getEntity, read, setEnabled, setEntity, toString, triggerEarlyUpdate, triggerUpdate, update, write
-
Field Details
-
priority
protected int priorityThe priority that the input handler is visited in by InputService.
-
-
Constructor Details
-
InputComponent
protected InputComponent()Sets priority to the default value; -
InputComponent
protected InputComponent(int priority) Sets input handler priority to a given value.- Parameters:
priority- input handler's priority
-
-
Method Details
-
create
public void create()Description copied from class:ComponentCalled 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. -
setPriority
public void setPriority(int priority) -
getPriority
public int getPriority() -
dispose
public void dispose()Description copied from class:ComponentCalled when the component is disposed. Dispose of any internal resources here. -
keyDown
public boolean keyDown(int keycode) - Specified by:
keyDownin interfacecom.badlogic.gdx.InputProcessor- See Also:
-
InputProcessor.keyDown(int)
-
keyTyped
public boolean keyTyped(char character) - Specified by:
keyTypedin interfacecom.badlogic.gdx.InputProcessor- See Also:
-
InputProcessor.keyTyped(char)
-
keyUp
public boolean keyUp(int keycode) - Specified by:
keyUpin interfacecom.badlogic.gdx.InputProcessor- See Also:
-
InputProcessor.keyUp(int)
-
mouseMoved
public boolean mouseMoved(int screenX, int screenY) - Specified by:
mouseMovedin interfacecom.badlogic.gdx.InputProcessor- See Also:
-
InputProcessor.mouseMoved(int, int)
-
scrolled
public boolean scrolled(float amountX, float amountY) - Specified by:
scrolledin interfacecom.badlogic.gdx.InputProcessor- See Also:
-
InputProcessor.scrolled(float, float)
-
touchDown
public boolean touchDown(int screenX, int screenY, int pointer, int button) - Specified by:
touchDownin interfacecom.badlogic.gdx.InputProcessor- See Also:
-
InputProcessor.touchDown(int, int, int, int)
-
touchDragged
public boolean touchDragged(int screenX, int screenY, int pointer) - Specified by:
touchDraggedin interfacecom.badlogic.gdx.InputProcessor- See Also:
-
InputProcessor.touchDragged(int, int, int)
-
touchUp
public boolean touchUp(int screenX, int screenY, int pointer, int button) - Specified by:
touchUpin interfacecom.badlogic.gdx.InputProcessor- See Also:
-
InputProcessor.touchUp(int, int, int, int)
-
fling
public boolean fling(float velocityX, float velocityY, int button) - Specified by:
flingin interfacecom.badlogic.gdx.input.GestureDetector.GestureListener- See Also:
-
GestureDetector.GestureListener.fling(float, float, int)
-
longPress
public boolean longPress(float x, float y) - Specified by:
longPressin interfacecom.badlogic.gdx.input.GestureDetector.GestureListener- See Also:
-
GestureDetector.GestureListener.longPress(float, float)
-
pan
public boolean pan(float x, float y, float deltaX, float deltaY) - Specified by:
panin interfacecom.badlogic.gdx.input.GestureDetector.GestureListener- See Also:
-
GestureDetector.GestureListener.pan(float, float, float, float)
-
panStop
public boolean panStop(float x, float y, int pointer, int button) - Specified by:
panStopin interfacecom.badlogic.gdx.input.GestureDetector.GestureListener- See Also:
-
GestureDetector.GestureListener.panStop(float, float, int, int)
-
pinch
public boolean pinch(com.badlogic.gdx.math.Vector2 initialPointer1, com.badlogic.gdx.math.Vector2 initialPointer2, com.badlogic.gdx.math.Vector2 pointer1, com.badlogic.gdx.math.Vector2 pointer2) - Specified by:
pinchin interfacecom.badlogic.gdx.input.GestureDetector.GestureListener- See Also:
-
GestureDetector.GestureListener.pinch(Vector2, Vector2, Vector2, Vector2)
-
pinchStop
public void pinchStop()- Specified by:
pinchStopin interfacecom.badlogic.gdx.input.GestureDetector.GestureListener- See Also:
-
GestureDetector.GestureListener.pinchStop()
-
pinchStopHandled
public boolean pinchStopHandled()Wrapper for pinch stop that can be overridden. This was created because the pinchStop() doesn't have a return value.- Returns:
- whether the input was processed
-
tap
public boolean tap(float x, float y, int count, int button) - Specified by:
tapin interfacecom.badlogic.gdx.input.GestureDetector.GestureListener- See Also:
-
GestureDetector.GestureListener.tap(float, float, int, int)
-
touchDown
public boolean touchDown(float x, float y, int pointer, int button) - Specified by:
touchDownin interfacecom.badlogic.gdx.input.GestureDetector.GestureListener- See Also:
-
GestureDetector.GestureListener.touchDown(float, float, int, int)
-
zoom
public boolean zoom(float initialDistance, float distance) - Specified by:
zoomin interfacecom.badlogic.gdx.input.GestureDetector.GestureListener- See Also:
-
GestureDetector.GestureListener.zoom(float, float)
-