示例#1
0
        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>();
        }
示例#2
0
        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>();
                }
            }
        }
示例#3
0
        // Called automatically by Unity after Awake whenever the script is enabled.
        void OnEnable()
        {
            SceneLinkedSMB <PlayerController> .Initialise(m_Animator, this);

            m_Renderers = GetComponentsInChildren <Renderer>();
        }