After investigating and with the help of a teacher we managed to get the character up the stairs and move on it:
When entering and leaving the stairs:
private void OnTriggerEnter2D(Collider2D collider2D)
{
if (collider2D.tag == "Player")
{
collider2D.GetComponent<PlayerController>().MoveStair();
}
}
private void OnTriggerExit2D(Collider2D collider2D)
{
if (collider2D.tag == "Player")
{
collider2D.GetComponent<PlayerController>().ExitStair();
}
}
In the character controller:
[SerializeField]
private bool _isClimbing = false;
public void MoveStair()
{
_isClimbing = true;
_rigidBody2D.gravityScale = 0f;
_animator.SetTrigger("Climb");
Debug.Log("Entro en una escalera");
}
public void ExitStair()
{
_isClimbing = false;
_rigidBody2D.gravityScale = 1f;
_animator.SetTrigger("ExitClimb");
Debug.Log("Salio de una escalera");
}
Note: when we finished climbing the ladder the character did not manage to get down, for a boxcollider theme (using 2D platform effector).