1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /****************************************************************************
- * 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 ITriggerEntity triggerEntity;
- public readonly EasyEvent<Collider,ITriggerEntity> OnTriggerEnterEvent = new EasyEvent<Collider,ITriggerEntity>();
- private void OnTriggerEnter(Collider collider)
- {
- OnTriggerEnterEventTrigger onTriggerEnterEventTrigger= collider.GetComponent<OnTriggerEnterEventTrigger>();
- 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.triggerEntity = triggerEntity;
- onTriggerEnterEventTrigger.OnTriggerEnterEvent.Close();
- return onTriggerEnterEventTrigger.OnTriggerEnterEvent
- .Register(onTriggerEnter);
- }
- }
- }
|