【发布时间】:2013-06-11 01:06:36
【问题描述】:
我有一个复杂的功能。我打算向它发送一个函数。
function ComplexFunction( customFunction : function)
{
//Complex things
customFunction();
//Complex things
}
但是我打算发送的函数有不同的签名
function FunctionA ( enumParameter : EnumX )
function FunctionB ( enumParameter : EnumY )
function FunctionC ( enumParameter : EnumZ )
所以这不是一个选项,因为我不知道将发送什么类型。
function ComplexFunction( customFunction : function , enumForCustomFunction : Enum??? )
(这是Unity的带有#pragma strict的unityscript,所以必须注明参数类型。)
所以我考虑预先应用那些枚举参数,使其成为无参数函数并将其发送给ComplexFunction 调用。这可能吗?
【问题讨论】:
-
从未使用过Unity3d,但你不能用一个未命名的函数包装真正的函数来调用吗? (例如
ComplexFunction(function () { return FunctionA(EnumX); });) -
我的回复是否回答了您的问题?如果是,请接受。
-
感谢提醒!我有点忙:(
标签: unity3d arguments parameter-passing unityscript