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函数
}

浙公网安备 33010602011771号