Unity アプリケーションとネイティブの静的ライブラリをやり取りするためのいくつかの簡単な方法を使用して、IOS プラグインを実装しました。
私が直面した問題は、ネイティブ UI 要素 (オブジェクト) をユニティに戻すことです。
Fe ネイティブ SDK にはバッジ (UIView) を作成するメソッドがありますが、一方、統一されたボタンがあります (GUI 要素や 3D オブジェクトなど)。
Unity からプラグインを介してこのメソッドにアクセスします。
[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 文字列にする必要があります。
結論は:
Unityからネイティブプラグインに座標を渡し、これらの座標にバッジを追加する必要があるアイデアは1つだけです(これが最善の解決策かどうかはわかりません):
[DllImport("__Internal")]
private static extern void XcodePlugin_AddBadgeViewToCoordinates(x,y);