繁体   English   中英

我可以从Unity iOS插件调用C#并获取返回类型吗?

[英]Can I call into C# from Unity iOS Plugin and get a return type?

我目前正在使用UnitySendMessage(Class, Method, StringArg)从我的iOS代码调用回C#。

但是,我现在正在尝试实现一些需要该方法返回值的东西。 我正在实现一个C#代码可以使用的委托,该委托包装了本机的Objective-C包装器。

UnitySendMessage具有1帧延迟,并且是异步的,因此不适合这样做。 我可以/应该使用什么呢?

我还没有看到一种从本机代码调用到非异步的Unity的方法。

我与您的方案类似的方式是让C#在每一帧轮询本机代码,然后再次返回响应:

Unity         Native
  |---GetInfo()--->|
process            |
  |---Result()---->|

从iOS代码到Unity C#代码的调用是异步调用,这意味着您不能具有返回值。 您可以做的是从iOS调用Unity C#方法,并为响应(返回值)从Unity C#调用iOS方法,然后在此iOS方法中执行返回值处理。

它会更像:

iOS(方法1)----数据-----> C#(方法X)

停止iOS端的任何处理

C#(methodX)----响应-----> iOS(method2)

对method2中的响应进行一些处理

暂无
暂无

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

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