override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        base.OnStateEnter(animator, stateInfo, layerIndex);
        float      fighterX = fighter.transform.position.x;
        GameObject go       = Object.Instantiate(Resources.Load("Hadoken"), new Vector3(fighterX, 1, fighter.transform.position.z), Quaternion.Euler(0, 0, 0)) as GameObject;
        Hadoken    hado     = go.gameObject.GetComponent <Hadoken> ();

        hado.caster = fighter;
        int direction = (int)fighter.transform.eulerAngles.y == 90 ? 1 : -1;

        hado.cast(direction);
    }