public Vector2 getPosition() { return(start.getPosition()); }
void Update() { if (!nextSet && (player.freeToAct || isMoving)) { if (Input.GetKeyDown(KeyCode.D)) { nextSet = true; nextMove = Vector2.right; sr.flipX = false; } else if (Input.GetKeyDown(KeyCode.A)) { nextSet = true; nextMove = Vector2.left; sr.flipX = true; } else if (Input.GetKeyDown(KeyCode.W)) { nextSet = true; nextMove = Vector2.up; sr.flipX = false; } else if (Input.GetKeyDown(KeyCode.S)) { nextSet = true; nextMove = Vector2.down; sr.flipX = false; } } if (!isMoving && player.freeToAct && nextSet) { if (setMove(nextMove)) { player.freeToAct = false; anim.SetBool("isOnLadder", isOnLadder); anim.ResetTrigger("move"); anim.SetTrigger("move"); } nextSet = false; } if (isMoving) { t += Time.deltaTime; if (t >= moveTime) { isMoving = false; tilePos.setTransform(tilePos.getPosition()); player.freeToAct = true; return; } else if (t >= moveTime * .6f) { player.freeToAct = true; } float moveDist = movementCurve.Evaluate(t / moveTime); tilePos.setTransform(lastPos + moveDir * moveDist); } }