# 【委托】

在Unity中,委托(Delegate)是一个非常有用的概念,它允许我们将方法作为参数传递给其他方法或存储在变量中。委托可以用来处理事件,实现回调函数等。

首先,定义一个委托类型,例如:

public delegate void MyDelegate();

然后,定义一个方法,该方法接受一个委托类型的参数:

public void MyMethod(MyDelegate myDelegate)
{
    // 在这里执行一些代码

    // 调用传递进来的委托
    myDelegate();
}

接下来,可以编写一个将要被传递给MyMethod的方法:

public void MyCallback()
{
    Debug.Log("委托被调用了!");
}

最后,将MyCallback方法传递给MyMethod方法:

MyMethod(MyCallback);

当MyMethod方法被调用时,它将执行传递给它的委托,也就是MyCallback方法。这样,MyCallback方法中的代码将会被执行,并输出"委托被调用了!"。

这只是一个简单的示例,委托还可以传递参数,允许多个方法同时注册,允许异步调用等等。委托是非常强大和灵活的工具,在Unity中经常用于处理事件和回调函数。