override public void OnStateEnter(Animator fsm, AnimatorStateInfo stateInfo, int layerIndex)
    {
        dragon = fsm.gameObject.transform.parent.GetComponent <DragonLogic>();

        if (dragon != null)
        {
            dragon.NewLocation(goToLocation);
        }
    }
    override public void OnStateEnter(Animator fsm, AnimatorStateInfo stateInfo, int layerIndex)
    {
        if (dragon == null)
        {
            dragon = fsm.gameObject.transform.parent.GetComponent <DragonLogic>();
        }

        currentIdleTime = 0.0f;
    }
    override public void OnStateEnter(Animator fsm, AnimatorStateInfo stateInfo, int layerIndex)
    {
        if (dragon == null)
        {
            dragon = fsm.gameObject.transform.parent.GetComponent <DragonLogic>();
        }

        if (dragonAnimator == null)
        {
            dragonAnimator = dragon.GetComponent <Animator>();
        }

        dragonAnimator.SetTrigger("Attack");
    }
    override public void OnStateEnter(Animator fsm, AnimatorStateInfo stateInfo, int layerIndex)
    {
        if (dragon == null)
        {
            dragon = fsm.gameObject.transform.parent.GetComponent <DragonLogic>();
        }

        if (spirit == null)
        {
            spirit = GameManager.Instance.wingedSpirit.transform;
        }


        turretsBlocked.Clear();
        laserMenBlocked.Clear();
        dragon.destroyTarget = null;
        dragon.freezeTarget  = null;
    }