📜  unity addlistener 带参数 (1)

📅  最后修改于: 2023-12-03 14:48:11.180000             🧑  作者: Mango

Unity中AddListener带参数的使用

在Unity开发中,我们经常需要使用Unity Event System来实现事件的触发和响应。而AddListener是Unity Event System中常用的一个方法,它用于为事件添加响应。

当我们需要给一个事件添加响应时,我们可以使用AddListener方法来实现。AddListener方法可以接收一个委托类型的参数,该委托接收一个参数并返回空。

例如,我们可以定义一个ButtonClicked事件,并为该事件添加一个响应方法:

public class MyButton : MonoBehaviour
{
    public UnityEvent<string> ButtonClicked;

    void Start()
    {
        ButtonClicked.AddListener(OnButtonClicked);
    }

    void OnButtonClicked(string param)
    {
        Debug.Log("Button clicked with param: " + param);
    }
}

在上述代码中,我们定义了一个ButtonClicked事件,并为该事件添加了一个响应方法OnButtonClicked。该方法接收一个参数并打印日志。在Start方法中,我们使用AddListener方法为ButtonClicked事件添加了OnButtonClicked方法作为响应。

我们可以在其他脚本中使用MyButton组件,并在需要的时候调用ButtonClicked事件:

public class AnotherScript : MonoBehaviour
{
    public MyButton button;

    void Start()
    {
        button.ButtonClicked.Invoke("hello");
    }
}

在上述代码中,我们定义了一个AnotherScript脚本,并在Start方法中调用了ButtonClicked事件并传入一个参数“hello”。

需要注意的是,在使用AddListener方法时,我们需要确保添加的委托的参数类型和事件的泛型类型相同。

以上就是Unity中AddListener带参数的使用方法的介绍。通过AddListener方法,我们可以实现事件和响应的解耦,实现更加灵活和可维护的代码。

Markdown代码片段:

## Unity中AddListener带参数的使用

在Unity开发中,我们经常需要使用Unity Event System来实现事件的触发和响应。而AddListener是Unity Event System中常用的一个方法,它用于为事件添加响应。

当我们需要给一个事件添加响应时,我们可以使用AddListener方法来实现。AddListener方法可以接收一个委托类型的参数,该委托接收一个参数并返回空。

例如,我们可以定义一个ButtonClicked事件,并为该事件添加一个响应方法:

public class MyButton : MonoBehaviour { public UnityEvent ButtonClicked;

void Start()
{
    ButtonClicked.AddListener(OnButtonClicked);
}

void OnButtonClicked(string param)
{
    Debug.Log("Button clicked with param: " + param);
}

}


在上述代码中,我们定义了一个ButtonClicked事件,并为该事件添加了一个响应方法OnButtonClicked。该方法接收一个参数并打印日志。在Start方法中,我们使用AddListener方法为ButtonClicked事件添加了OnButtonClicked方法作为响应。

我们可以在其他脚本中使用MyButton组件,并在需要的时候调用ButtonClicked事件:

public class AnotherScript : MonoBehaviour { public MyButton button;

void Start()
{
    button.ButtonClicked.Invoke("hello");
}

}


在上述代码中,我们定义了一个AnotherScript脚本,并在Start方法中调用了ButtonClicked事件并传入一个参数“hello”。

需要注意的是,在使用AddListener方法时,我们需要确保添加的委托的参数类型和事件的泛型类型相同。

以上就是Unity中AddListener带参数的使用方法的介绍。通过AddListener方法,我们可以实现事件和响应的解耦,实现更加灵活和可维护的代码。