public void StopClimb() { if (OnLadder()) { if (currentTrigger == null) { state = ELadderClimbState.NoLadder; } else { state = ELadderClimbState.CanClimb; } } }
void OnTriggerExit(Collider other) { LadderTrigger trigger = other.GetComponent <LadderTrigger>(); if (trigger == null) { return; } currentTrigger = null; if (state == ELadderClimbState.CanClimb) { state = ELadderClimbState.NoLadder; } }
public void StartClimb() { Debug.Log("start climb"); if (currentTrigger != null) { Debug.Assert(state == ELadderClimbState.CanClimb); if (currentTrigger.isTop) { state = ELadderClimbState.OnLadderTop; } else { state = ELadderClimbState.OnLadderBottom; } transform.position = currentTrigger.transform.position; } }