/**********************************************************************************************/ // инициализация дефолтного набора эффектов // /**********************************************************************************************/ protected virtual void SetEffectsCollection() { // добавляем всем юнитам эффект урона DamageEffect de = new DamageEffect(); de.ObjectUnderEffect = gameObject; m_effectMaster.SetEffect(de.Type, de); // для отображения кислотного урона DamageEffect ade = new DamageEffect(); ade.ObjectUnderEffect = gameObject; ade.SetAcidType(); m_effectMaster.SetEffect(ade.Type, ade); // эффект нанесения урона кислотой AcidEffect ae = new AcidEffect(); ae.ObjectUnderEffect = gameObject; m_effectMaster.SetEffect(ae.Type, ae); // эффект замораживания FreezeEffect fe = new FreezeEffect(); fe.ObjectUnderEffect = gameObject; m_effectMaster.SetEffect(fe.Type, fe); // получаем саб компоненты Transform[] allChildren = GetComponentsInChildren <Transform>(); for (int ind = 0; ind < allChildren.Length; ind++) { GameObject component = allChildren[ind].gameObject; // настраваем FreezeEffect if (component.tag == "FreezeEffect") { Animator freezeEffectAnimator = component.GetComponent <Animator>(); if (freezeEffectAnimator == null) { Debug.Log("ERROR! freezeEffect Animator is NULL!!!"); return; } // вручаем ему аниматор fe.EffectAnimator = freezeEffectAnimator; } } }