/// <summary> /// Checks all conditions to transition to another state /// </summary> void Transitions() { //To IDLE (destination arrived?) if (cosmo.DstArrived()) { ToIdleState(); } //Actions performed when it's selected if (cosmo.is_selected) { //To WALKING (another destination) if (cosmo.GetMovement(ref destination)) { ToWalkingState(); return; } //To Ability1: sensorial if (Input.GetAxis("Ability1") != 0 && cosmo.cooldown_inst.AbilityIsReady(1)) { ToSensorialState(); return; } //To Ability2: portals if (Input.GetAxis("Ability2") != 0) { ToPortalState(); return; } } }
private void Transitions() { if (cosmo.is_selected == false) { return; } //To WALKING if (cosmo.GetMovement(ref destination)) { ToWalkingState(); return; } //To Ability1: sensorial if (Input.GetAxis("Ability1") != 0 && cosmo.cooldown_inst.AbilityIsReady(1)) { ToSensorialState(); return; } //To Ability2: portals if (Input.GetAxis("Ability2") != 0) { ToPortalState(); return; } }
public void UpdateState() { //Check arrive at box if (hiding == false) { if (cosmo.DstArrived()) { Hide(); } } else { //Actually hiding cosmo.transform.position = new Vector3(box.transform.position.x, cosmo.transform.position.y, box.transform.position.z); //Update position with box if (cosmo.is_selected) { if (cosmo.GetMovement(ref destination)) //Get movement input { GetOut(); //Get out the box } } } }