private void performeUpDownLadder() { if (Input.GetKey(GameController.UP) || Input.GetKeyDown(GameController.UP) || Input.GetKey(GameController.DOWN) || Input.GetKeyDown(GameController.DOWN)) { //character.gravityScale = 0; Debug.Log("Perform"); state = Movement.Ladder; //Vector2 nextPositionVertical; float verticalVariation = 0; if (Input.GetKey(GameController.UP) || Input.GetKeyDown(GameController.UP)) { ladderDirection = LadderDirection.Up; //nextPositionVertical = Vector2.up * GameController.SPEED_LADDER * Time.deltaTime; verticalVariation = verticalVariation + GameController.SPEED_LADDER; } else if (Input.GetKey(GameController.DOWN) || Input.GetKeyDown(GameController.DOWN)) { ladderDirection = LadderDirection.Down; verticalVariation = verticalVariation - GameController.SPEED_LADDER; //nextPositionVertical = Vector2.down * GameController.SPEED_LADDER * Time.deltaTime; } else { //ladderDirection = LadderDirection.None; //nextPositionVertical = Vector2.zero; } //transform.localPosition += (Vector3)nextPositionVertical; transform.localPosition = new Vector3(transform.position.x, transform.position.y + verticalVariation, transform.localPosition.z); } }
private void performeUpDownLadder_() { if (time <= timeToUseLadder) { return; } time = 0; Animator animation = animator.GetComponent <Animator>(); if (!positionsTouches.Contains(LadderPosition.Botton) && !positionsTouches.Contains(LadderPosition.Top)) { // middle if (countLadderUse > 0) { if (countLadderUse % 2 == 0) { animation.Play("ladder_middle_left"); } else { animation.Play("ladder_middle_right"); } } countLadderUse++; } else if (!positionsTouches.Contains(LadderPosition.Middle) && !positionsTouches.Contains(LadderPosition.Top)) { // botton animation.Play("ladder_begin"); countLadderUse = 0; } else if (!positionsTouches.Contains(LadderPosition.Middle) && !positionsTouches.Contains(LadderPosition.Botton)) { //top animation.Play("ladder_end"); countLadderUse = 0; } Vector2 nextPositionVertical; if (Input.GetKey(GameController.UP)) { ladderDirection = LadderDirection.Up; nextPositionVertical = Vector2.up * GameController.SPEED_LADDER * Time.deltaTime; } else if (Input.GetKey(GameController.DOWN)) { ladderDirection = LadderDirection.Down; nextPositionVertical = Vector2.down * GameController.SPEED_LADDER * Time.deltaTime; } else { ladderDirection = LadderDirection.None; nextPositionVertical = Vector2.zero; } transform.localPosition += (Vector3)nextPositionVertical; }