Unity QFrameWork--Event
Event
using System; namespace QFramework{ public class Event<T> where T : Event<T> { private static Action mOnEvent; public static void Register(Action OnEvent){ mOnEvent += OnEvent; } public static void UnRegister(Action OnEvent){ mOnEvent -= OnEvent; } public static void Trigger(){ mOnEvent?.Invoke(); } } }
代码解释
使用泛型,不同的事件都能继承他,特定的事件类型。
有以下三种功能
- 注册事件 Register
- 注销事件 UnRegister
- 触发事件 Trigger
用大白话讲就是你可以在一个事件中注册很多的函数,例如你扣了一滴血相对的就会触发许多函数
下面是示例
namespace QFramework.E.g{ public class GameStartEvent : Event<GameStartEvent> { } public class Game : MonoBehaviour { void Start() { GameStartEvent.Register(OnGameStart); } private void OnGameStart() { transform.Find("Enemies").gameObject.SetActive(true); } void OnDestroy(){ GameStartEvent.UnRegister(OnGameStart); } } // ... GameStartEvent.Trigger() 就会调用OnGameStart函数 }
合集:
QFramework
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通