0

我有一个使用 UnityScript 的类,如下所示:

public class Responder{
    private var completeHandler:Function;

    public function addHandlers(completeHandler:Function):void {
        completeHandler();
    }
}

现在,我想在 c# 代码中使用这个类,

public class MyGame : MonoBehaviour{
    void Start(){
        Responder res = new Responder();
        res.addHandlers(?????);   //how to pass the param??
    }
}

谢谢!

4

1 回答 1

0

将 Javascript 类放在Pluginsassets 下的文件夹中。您将能够从 C# 脚本调用用 JS 编写的方法。

JS 中的类型Function在我看来就像Boo.Lang.ICallable在 C# 中一样。由于默认情况下我无法导入 Boo.Lang,因此我Boo.Lang.dll从 Unity3D 安装文件夹中取出并将其复制到项目中的同一Plugins文件夹中,然后using Boo.Lang;在我的 C# 脚本顶部添加。

您现在可以创建新ICallable类型并将其作为参数从 C# 传递给 JS。

于 2013-08-28T13:54:39.260 回答