public IEnumerator UseSkill()
    {
        if (GetComponent <StatusC>().freeze)
        {
            return(false);
        }
        GameObject eff = null;

        AIenemyC ai = GetComponent <AIenemyC>();
        int      c  = 0;

        if (skillSet.Length > 1)
        {
            c = Random.Range(0, skillSet.Length);
        }
        onSkill = true;
        //Cast Effect
        if (skillSet[c].castEffect)
        {
            eff = (GameObject)Instantiate(skillSet[c].castEffect, mainModel.transform.position, mainModel.transform.rotation);
            eff.transform.parent = this.transform;
        }
        //Call UseSkill Function in AIenemy Script.
        StartCoroutine(ai.UseSkill(skillSet[c].skillPrefab, skillSet[c].castTime, skillSet[c].delayTime, skillSet[c].skillAnimation.name, skillDistance));
        yield return(new WaitForSeconds(skillSet[c].castTime));

        if (eff)
        {
            Destroy(eff);
        }

        yield return(new WaitForSeconds(skillSet[c].delayTime));

        onSkill = false;
    }
    private Animator animator;     //For Mecanim

    void Start()
    {
        ai         = GetComponent <AIenemyC>();
        mainModel  = GetComponent <StatusC>().mainModel;
        useMecanim = ai.useMecanim;
        if (!mainModel)
        {
            mainModel = this.gameObject;
        }
        movingAnimation = ai.movingAnimation;
        idleAnimation   = ai.idleAnimation;
        //-------Check for Mecanim Animator-----------
        if (useMecanim)
        {
            animator = ai.animator;
            if (!animator)
            {
                animator = mainModel.GetComponent <Animator>();
            }
        }
    }