Example #1
0
    void FixedUpdate()
    {
        for (int i = 0; i <= 8; i++)
        {
            gameObject.transform.GetChild(i).gameObject.SetActive(false);
        }
        if (mode == 1)
        {
            if (facing == Direction.S)
            {
                gameObject.transform.GetChild(1).gameObject.SetActive(true);
            }
            else if (facing == Direction.SW)
            {
                gameObject.transform.GetChild(2).gameObject.SetActive(true);
            }
            else if (facing == Direction.W)
            {
                gameObject.transform.GetChild(3).gameObject.SetActive(true);
            }
            else if (facing == Direction.NW)
            {
                gameObject.transform.GetChild(4).gameObject.SetActive(true);
            }
            else if (facing == Direction.N)
            {
                gameObject.transform.GetChild(5).gameObject.SetActive(true);
            }
            else if (facing == Direction.NE)
            {
                gameObject.transform.GetChild(6).gameObject.SetActive(true);
            }
            else if (facing == Direction.E)
            {
                gameObject.transform.GetChild(7).gameObject.SetActive(true);
            }
            else if (facing == Direction.SE)
            {
                gameObject.transform.GetChild(8).gameObject.SetActive(true);
            }
        }
        else
        {
            gameObject.transform.GetChild(0).gameObject.SetActive(true);
        }
//		Debug.Log (currentState);
        rb.velocity = Vector3.zero;
        currentState.FixedUpdate();
        if (nextState != null)
        {
            stateEnded = false;
            currentState.Exit();
            currentState = nextState;
            nextState    = null;
            currentState.Enter();
        }
        if (this.gameObject.GetComponent <Health>().currentHealth <= 0)
        {
            nextState = new Dying(this);
        }
    }