// Update is called once per frame private void Update() { if (!gc.Pause) { //prendo gli input m_horizontal = Input.GetAxisRaw("Horizontal"); m_vertical = Input.GetAxisRaw("Vertical"); m_axis_jump = Input.GetAxisRaw("Jump"); //controllo per non fare un doppio salto troppo in alto if (m_axis_jump == 0) { hasJumped = false; } //parte di animazione player if (!sliding && !dead && !climbing) { animator.SetFloat("Horizontal", Mathf.Abs(m_horizontal)); } if (facing_right && m_horizontal < 0) { tr.localScale = new Vector3(-1, 1, 1); facing_right = false; } else if (!facing_right && m_horizontal > 0) { sr.flipX = false; tr.localScale = new Vector3(1, 1, 1); facing_right = true; } //comandi if ((Input.GetKeyDown(KeyCode.W) || Input.GetKeyDown(KeyCode.S)) && !dead && IsNearLadder) { climbing = true; jumping = false; hasJumped = false; rb.gravityScale = 0; rb.velocity = Vector2.zero; if (ladder != null) { ladder.DeactivatePlatform(); if (ladder.center != null) { tr.position = new Vector3(ladder.center.transform.position.x, tr.position.y, tr.position.z); } } animator.SetBool("Climbing", true); animator.SetBool("Jumping", false); } else if (Input.GetKeyDown(KeyCode.S) && !jumping && !dead && !IsNearLadder && IsNearLever) { //TODO non ho idea di cosa sia questo per cui lo lascio } if (Input.GetKeyDown(KeyCode.F11)) { DieWithFade(); } } }