34 lines
1.1 KiB
Swift
34 lines
1.1 KiB
Swift
import UIKit
|
|
import UnityLibrary
|
|
|
|
// 扩展AppDelegate以便更好地组织Unity相关方法
|
|
extension AppDelegate {
|
|
|
|
// Unity回调方法 - 处理Unity向Flutter发送消息
|
|
func receiveUnityMessage(from gameObject: String, method: String, message: String) {
|
|
guard let unityPlugin = UnityPlugin.instance else { return }
|
|
|
|
// 构建消息对象
|
|
let messageDict: [String: Any] = [
|
|
"gameObject": gameObject,
|
|
"method": method,
|
|
"message": message
|
|
]
|
|
|
|
// 将消息转为JSON字符串
|
|
if let jsonData = try? JSONSerialization.data(withJSONObject: messageDict),
|
|
let jsonString = String(data: jsonData, encoding: .utf8) {
|
|
unityPlugin.receiveUnityMessage(jsonString)
|
|
}
|
|
}
|
|
|
|
// Unity回调方法 - 返回按钮被按下
|
|
func onUnityBackPressed() {
|
|
UnityPlugin.instance?.handleUnityBackPressed()
|
|
}
|
|
|
|
// Unity回调方法 - Unity已关闭
|
|
func onUnityClosed() {
|
|
UnityPlugin.instance?.handleUnityClosed()
|
|
}
|
|
} |