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