public static MouseInputData Get(int device, InputDataState state, Vector3 position) { MouseInputData mouseInputData; if (state == InputDataState.PRESSED || !idxToMouseData.ContainsKey(device)) { mouseInputData = new MouseInputData(device, state, position); idxToMouseData[device] = mouseInputData; } else { mouseInputData = idxToMouseData[device]; mouseInputData.duration = Time.time - mouseInputData.startTime; } mouseInputData.state = state; if (state == InputDataState.RELEASED) { mouseInputData.releasedPosition = position; idxToMouseData.Remove(device); } mouseInputData.currentPosition = position; return(mouseInputData); }
MouseInputData(int device, InputDataState state, Vector3 position) { this.device = device; pressedPosition = position; startTime = Time.time; GUIElement = GUIUtils.GetGUIObjectAtPosition(position); }
void AttackAction(InputDataState inputState) { if (inputState == InputDataState.PRESSED) { // TODO Attack characterController.Request(ControllerAction.ROLL); } }
void MoveRightAction(InputDataState inputState) { if (inputState == InputDataState.RELEASED) { return; } characterController.Request(ControllerAction.MOVE_RIGHT); }
void JumpAction(InputDataState inputState) { if (inputState == InputDataState.PRESSED) { characterController.Request(ControllerAction.JUMP); } else if (inputState == InputDataState.HOLD) { characterController.Request(ControllerAction.JETPACK); } else if (inputState == InputDataState.RELEASED) { characterController.Request(ControllerAction.CANCEL_JUMP); } }
public ButtonInputData(InputButton button, InputDataState state) { this.button = button; this.state = state; }