Пример #1
0
        private void OnEnable()
        {
            AreaTrigger = PickUpArea.GetComponent <TriggerProxy>();

            if (AreaTrigger == null)
            {
                AreaTrigger = PickUpArea.gameObject.AddComponent <TriggerProxy>();
            }

            AreaTrigger.HitLayer       = PickUpLayer.Value;
            AreaTrigger.IgnoreTriggers = false;

            AreaTrigger.OnTrigger_Enter.AddListener(OnAreaTriggerEnter);
            AreaTrigger.OnTrigger_Exit.AddListener(OnAreaTriggerExit);

            AreaTrigger.gameObject.SetActive(true);
        }
Пример #2
0
        public override void InitializeWeapon()
        {
            base.InitializeWeapon();

            if (meleeCollider)
            {
                meleeColliderProxy = meleeCollider.gameObject.AddComponent <TriggerProxy>();            //Create a proxy to comunicate the Collision and trigger events in case the melee conllider is on another gameObject

                if (meleeCollider.isTrigger)
                {
                    meleeColliderProxy.OnTrigger_Stay.AddListener(WeaponTriggerStay);
                }
                else
                {
                    meleeColliderProxy.OnCollision_Enter.AddListener(WeaponCollisionEnter);
                }
                meleeCollider.enabled = false;
            }
        }
Пример #3
0
        private void Awake()
        {
            character = GetComponent <ICharacterAction>();

            if (PickUpArea)
            {
                if (AreaTrigger == null)
                {
                    AreaTrigger = PickUpArea.GetComponent <TriggerProxy>();
                    if (AreaTrigger == null)
                    {
                        AreaTrigger = PickUpArea.gameObject.AddComponent <TriggerProxy>();
                    }
                }
            }
            else
            {
                Debug.LogWarning("Please set a Pick up Area");
            }
        }
Пример #4
0
        public override void InitializeWeapon()
        {
            base.InitializeWeapon();
            CanCauseDamage = false;

            if (meleeCollider)
            {
                meleeColliderProxy = meleeCollider.GetComponent <TriggerProxy>();

                if (meleeColliderProxy == null)
                {
                    meleeColliderProxy = meleeCollider.gameObject.AddComponent <TriggerProxy>();            //Create a proxy to comunicate the Collision and trigger events in case the melee conllider is on another gameObject
                }
                meleeColliderProxy.HitLayer = HitLayer;

                if (meleeCollider.isTrigger)
                {
                    meleeColliderProxy.OnTrigger_Enter.AddListener(WeaponOnTriggerEnter);
                }
                meleeCollider.enabled       = false;
                meleeColliderProxy.HitLayer = -1;
            }
        }