/// <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;
            }
        }
    }
Exemple #2
0
    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
                }
            }
        }
    }