从sendMessage返回值或在unity webgl中返回

时间:2019-02-28 05:22:18

标签: c# unity3d unity-webgl

我正在将Unity WebGL用于我的项目,并希望从浏览器JavaScript到C#进行通信。 一种方法是使用 SendMessage 从JavaScript调用C#函数。我可以使用javascript中的以下代码片段轻松拨打电话:

gameInstance.SendMessage("MyObjectName","MyFunctionName",myParameter);

但是有一个问题,它没有返回任何值。为了获得一个值,我必须实现一个运行另一个功能的单独功能。我可以直接返回价值吗?发送消息文档明确指出它不返回任何值,因此除了sendMessage之外,还有其他方法可以直接从函数调用中获取返回值吗?

1 个答案:

答案 0 :(得分:0)

使用自定义类作为参数-例如:

public class CustomData
{
    public string Input;
    public string Output;
}

...

CustomData data = new CustomData();
data.Input = "Something";
gameInstance.SendMessage("MyObjectName", "MyFunctionName", data);
//use data.Input inside MyFunctionName like a parameter
//change data.Output inside MyFunctionName
//use data.Output
Debug.Log(data.Output);