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); } }