繁体   English   中英

如何将c#函数作为参数统一传递给UnityScript?

[英]How to passing c# function as a param to UnityScript in unity?

我有一个使用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??
    }
}

谢谢!

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM