protected virtual void CheckForTriggerAction(Collider other) { var _triggerAction = other.GetComponent <vTriggerGenericAction>(); if (!_triggerAction) { return; } var dist = Vector3.Distance(transform.forward, _triggerAction.transform.forward); if (!_triggerAction.activeFromForward || dist <= 0.8f) { triggerAction = _triggerAction; canTriggerAction = true; triggerAction.OnPlayerEnter.Invoke(); } else { if (triggerAction != null) { triggerAction.OnPlayerExit.Invoke(); } canTriggerAction = false; } }
public virtual IEnumerator DestroyDelay(vTriggerGenericAction triggerAction) { var _triggerAction = triggerAction; yield return(new WaitForSeconds(_triggerAction.destroyDelay)); ResetPlayerSettings(); Destroy(_triggerAction.gameObject); }