【发布时间】:2013-04-05 11:19:44
【问题描述】:
我用几个简单的方法实现了 IOS 插件,以将我的统一应用程序与本机静态库交互。
我面临的问题是将原生 UI 元素(对象)传递回统一。
F.e 原生 SDK 具有创建徽章 (UIView) 的方法,另一方面,我有统一的按钮(它可以是 GUI 元素或某些 3d 对象,等等)
我通过我的插件从统一访问此方法,例如:
[DllImport("__Internal")]
private static extern void XcodePlugin_GetBadgeView();
以下:
void XcodePlugin_GetBadgeView()
{
// Generate native UIView
UIView *badge = [Badge badge];
???? Return UIView badge instance to unity (hm)?!
}
所以我需要类似的东西:
[someViewOrObject addSubView:badge];
但在统一内。
我知道有能力将消息发送回统一:
UnitySendMessage( "UnityCSharpClassName" , "UnityMethod", "WhateverValueToSendToUnity");
但WhateverValueToSendToUnity应该是UTF8字符串。
总结:
只有一个想法,我必须将坐标从统一传递到本机插件,然后将徽章添加到这些坐标(不确定这是最佳解决方案):
[DllImport("__Internal")]
private static extern void XcodePlugin_AddBadgeViewToCoordinates(x,y);
【问题讨论】:
标签: iphone ios plugins unity3d