C# 统一按钮预制与不同的代码

C# 统一按钮预制与不同的代码,c#,visual-studio,static,unity3d,C#,Visual Studio,Static,Unity3d,我在Unity中创建了一个按钮预制。我使用OnMouseUpAsButton函数来处理单击。我希望预制的每个实例都有不同的行为 到目前为止,我所做的是,当用户单击按钮时,预置有一个公共字符串消息成员,它是要运行的函数的名称。我使用startcroutine函数运行此消息,但这不是静态函数,我希望我的函数是静态的 我发现了这个,运行一个静态函数,但对我来说这似乎是一个昂贵的操作,我不想每次都调用它,用户点击一个按钮。实现此解决方案最便宜的方法是什么?例如,使用Find和关联的消息字符串(也用作对象

我在Unity中创建了一个按钮预制。我使用OnMouseUpAsButton函数来处理单击。我希望预制的每个实例都有不同的行为

到目前为止,我所做的是,当用户单击按钮时,预置有一个公共字符串消息成员,它是要运行的函数的名称。我使用startcroutine函数运行此消息,但这不是静态函数,我希望我的函数是静态的


我发现了这个,运行一个静态函数,但对我来说这似乎是一个昂贵的操作,我不想每次都调用它,用户点击一个按钮。实现此解决方案最便宜的方法是什么?

例如,使用Find和关联的消息字符串(也用作对象的标记)获取关联的游戏对象,并使用非静态函数。听起来你想要静态函数只是因为调用更容易,不需要对象引用,但这不会让你走得很远。给他们Id,然后从那里开始工作。或者尝试使用该函数。或者遵循NGUI的做事风格。并在每个ui按钮上公开分配一个单独的脚本,做它应该做的事情/sendMessage解决了问题,你能添加一个答案让我接受吗