void OnEnable() { m_EnemyController = GetComponent <EnemyController>(); m_NavMeshAgent = GetComponent <NavMeshAgent>(); SceneLinkedSMB <GrenadierBehaviour> .Initialise(m_EnemyController.animator, this); fistWeapon.SetOwner(gameObject); fistWeapon.EndAttack(); m_CoreMaterial = coreRenderer.materials[1]; m_OriginalCoreMaterial = m_CoreMaterial.GetColor("_Color2"); m_EnemyController.animator.Play(hashIdleState, 0, Random.value); shield.SetActive(false); m_Damageable = GetComponentInChildren <Damageable>(); }
void Start() { m_Animator = GetComponent <Animator>(); if (m_Animator == null) { throw new MissingComponentException("EffectEvents requires an animator!"); } SceneLinkedSMB <EffectEvents> .Initialise(m_Animator, this); m_EventLookup.Clear(); for (int i = 0; i < events.Length; ++i) { m_EventLookup[Animator.StringToHash(events[i].eventName)] = events[i]; //lookup if we have particle system on target as those need to be restarted on re-enabling, and faster to lookup only once on init for (int k = 0; k < events[i].targets.Length; ++k) { events[i].targets[k].particlesystem = events[i].targets[k].gameObject.GetComponentInChildren <ParticleSystem>(); } } }
// Called automatically by Unity after Awake whenever the script is enabled. void OnEnable() { SceneLinkedSMB <PlayerController> .Initialise(m_Animator, this); m_Renderers = GetComponentsInChildren <Renderer>(); }