| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | 
							- /****************************************************************************
 
-  * Copyright (c) 2016 - 2022 liangxiegame UNDER MIT License
 
-  * 
 
-  * https://qframework.cn
 
-  * https://github.com/liangxiegame/QFramework
 
-  * https://gitee.com/liangxiegame/QFramework
 
-  ****************************************************************************/
 
- using System;
 
- using UnityEngine;
 
- namespace Core.Triiger
 
- {
 
-     public class OnTriggerEnterEventTrigger : MonoBehaviour
 
-     {
 
-         
 
-         public readonly EasyEvent<Collider,ITriggerEntity> OnTriggerEnterEvent = new EasyEvent<Collider,ITriggerEntity>();
 
-         private void OnTriggerEnter(Collider collider)
 
-         {
 
-             TriggerEntityMono onTriggerEnterEventTrigger=   collider.GetComponent<TriggerEntityMono>();
 
-             ITriggerEntity triggerEntity = null;
 
-             if(onTriggerEnterEventTrigger!=null)
 
-             {
 
-                  triggerEntity= onTriggerEnterEventTrigger.triggerEntity;
 
-                
 
-             }
 
-             
 
-             OnTriggerEnterEvent.Trigger(collider,triggerEntity);         
 
-         }
 
-     }
 
-     public static class OnTriggerEnterEventTriggerExtension
 
-     {
 
-         // public static IUnRegister OnTriggerEnterEvent<T>(this T self, Action<Collider> onTriggerEnter)
 
-         //     where T : Component
 
-         // {
 
-         //     return self.GetOrAddComponent<OnTriggerEnterEventTrigger>().OnTriggerEnterEvent
 
-         //         .Register(onTriggerEnter);
 
-         // }
 
-         
 
-         public static IUnRegister OnTriggerEnterEvent(this GameObject self,ITriggerEntity triggerEntity, Action<Collider,ITriggerEntity> onTriggerEnter)
 
-         {
 
-             OnTriggerEnterEventTrigger onTriggerEnterEventTrigger=  self.GetOrAddComponent<OnTriggerEnterEventTrigger>();
 
-             onTriggerEnterEventTrigger.OnTriggerEnterEvent.Close();
 
-             TriggerEntityMono TriggerEntityMono =
 
-                 self.GetOrAddComponent<TriggerEntityMono>();
 
-             TriggerEntityMono.triggerEntity= triggerEntity;
 
-             CustomUnRegister customUnRegister=(CustomUnRegister) onTriggerEnterEventTrigger.OnTriggerEnterEvent
 
-                 .Register(onTriggerEnter);
 
-             customUnRegister.OnUnRegisterFinish = delegate()
 
-             {
 
-                 TriggerEntityMono.triggerEntity = null;
 
-                 Collider collider= self.GetComponent<Collider>();
 
-                 if (collider != null)
 
-                 {
 
-                     collider.enabled = false;
 
-                 }
 
-             };
 
-             Collider collider= self.GetComponent<Collider>();
 
-             if (collider != null)
 
-             {
 
-                 collider.enabled = true;
 
-             }
 
-             return customUnRegister;
 
-         }
 
-         
 
-     }
 
- }
 
 
  |