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