# 【事件】

在Unity中,使用事件(Event)是一种方便的方式来实现对象间的通信,其中一个对象(通常是发送方)将事件发送到另一个对象(通常是接收方),接收方则根据事件的参数执行相应的操作。下面是一个示例:

// 定义事件类
public class MyEvent : UnityEvent<string, int> {}

// 发送方脚本
public class Sender : MonoBehaviour {
    // 定义事件
    public MyEvent myEvent = new MyEvent();
    
    void Start() {
        // 发送事件
        myEvent.Invoke("Hello", 123);
    }
}

// 接收方脚本
public class Receiver : MonoBehaviour {
    void Awake() {
        // 获取发送方组件
        Sender sender = FindObjectOfType<Sender>();
        // 注册事件
        sender.myEvent.AddListener(HandleMyEvent);
    }
    
    // 事件处理函数
    void HandleMyEvent(string message, int value) {
        Debug.Log("Received message: " + message + ", value: " + value);
    }
}