package com.captstudios.games.tafl.core.es.systems.passive; import com.artemis.systems.PassiveEntitySystem; import com.artemis.systems.event.SystemEvent; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.InputProcessor; import com.captstudios.games.tafl.core.enums.InputType; import com.captstudios.games.tafl.core.es.systems.events.InputEvent; public class UserInputSystem extends PassiveEntitySystem implements InputProcessor { @Override public void initialize() { super.initialize(); Gdx.input.setInputProcessor(this); } @Override public boolean keyDown(int keycode) { // TODO Auto-generated method stub return false; } @Override public boolean keyUp(int keycode) { // TODO Auto-generated method stub return false; } @Override public boolean keyTyped(char character) { // TODO Auto-generated method stub return false; } @Override public boolean touchDown(int screenX, int screenY, int pointer, int button) { return addTouchEvent(InputType.TOUCH_DOWN, screenX, screenY, pointer, button); } @Override public boolean touchUp(int screenX, int screenY, int pointer, int button) { return addTouchEvent(InputType.TOUCH_UP, screenX, screenY, pointer, button); } @Override public boolean touchDragged(int screenX, int screenY, int pointer) { return addTouchEvent(InputType.TOUCH_DRAG, screenX, screenY, pointer, 0); } @Override public boolean mouseMoved(int screenX, int screenY) { return false; } @Override public boolean scrolled(int amount) { // TODO Auto-generated method stub return false; } protected boolean addTouchEvent(InputType type, int x, int y, int pointer, int button) { InputEvent event = SystemEvent.createEvent(InputEvent.class); event.type = type; event.x = x; event.y = y; event.pointer = pointer; event.button = button; world.postEvent(this, event); return true; } }