private void ExecuteAction(SlimeState state) { if (!canAct_) { slimeActor_.move(0f, 0f); return; } Vector2 distToPlayer; switch (state) { case SlimeState.ATTACK: if (!cooldown_) { StartCoroutine(Attack()); } slimeActor_.move(0f, 0f); break; case SlimeState.MOVE_TO_PLAYER: distToPlayer = player_.position - transform.position; slimeActor_.move(distToPlayer.y, distToPlayer.x); break; case SlimeState.FLEE: distToPlayer = -(player_.position - transform.position); slimeActor_.move(distToPlayer.y, distToPlayer.x); break; default: slimeActor_.move(0f, 0f); break; } }
void handleInput() { float horzAxis = Input.GetAxisRaw("Horizontal"); float vertAxis = Input.GetAxisRaw("Vertical"); playerActions_.move(vertAxis, horzAxis); if (Input.GetKeyDown(KeyCode.Z)) { zKey_.execute(); } if (Input.GetKeyDown(KeyCode.X)) { xKey_.execute(); } if (Input.GetKeyDown(KeyCode.Space)) { spaceKey_.execute(); } }
public void execute() { actor_.move(vert_, horz_); }