UnityEvent 0参数

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;

public class EventTest : MonoBehaviour
{
    UnityEvent m_MyEvent;

    // Use this for initialization
    void Start ()
    {
        if (m_MyEvent == null)
            m_MyEvent = new UnityEvent();

        m_MyEvent.AddListener(Ping);
    }
    // Update is called once per frame
    void Update ()
    {
        if (Input.anyKey && m_MyEvent != null)
        {
            m_MyEvent.Invoke();
        }
    }
    void Ping()
    {
        Debug.Log("This is Ping");
    }
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个简单的示例代码,展示如何使用Unity事件系统: 首先,我们需要创建一个自定义事件类: ```csharp using UnityEngine.Events; // 自定义事件类,继承自UnityEvent public class MyEvent : UnityEvent<int, string> {} ``` 接下来,我们需要在代码中使用事件管理器来注册和注销事件侦听器: ```csharp using UnityEngine; public class MyListener : MonoBehaviour { private MyEvent myEvent; private void OnEnable() { // 获取事件管理器 myEvent = EventManager.GetEvent<MyEvent>(); // 注册事件侦听器 myEvent.AddListener(OnMyEvent); } private void OnDisable() { // 注销事件侦听器 myEvent.RemoveListener(OnMyEvent); } private void OnMyEvent(int intParam, string stringParam) { // 处理事件 Debug.LogFormat("MyEvent received with params: {0}, {1}", intParam, stringParam); } } ``` 最后,我们可以在其他代码中发送事件: ```csharp using UnityEngine; public class MySender : MonoBehaviour { private MyEvent myEvent; private void Start() { // 获取事件管理器 myEvent = EventManager.GetEvent<MyEvent>(); // 发送事件 myEvent.Invoke(42, "hello"); } } ``` 在上面的代码中,我们创建了一个自定义事件类 `MyEvent`,并在 `MyListener` 脚本中注册了事件侦听器。每当 `MyEvent` 被触发时,`OnMyEvent` 方法将被调用。 在 `MySender` 脚本中,我们获取 `MyEvent` 并使用 `Invoke` 方法发送事件。在这个例子中,我们将发送一个带有整数和字符串参数的事件。 注意,以上代码仅为示例,您可以根据您的需求自定义事件和事件侦听器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值