48 lines
1.1 KiB
C#
48 lines
1.1 KiB
C#
using UnityEngine;
|
|
using easyar;
|
|
using FlutterUnityIntegration;
|
|
|
|
public class ARManager : MonoBehaviour
|
|
{
|
|
private void Start()
|
|
{
|
|
// Unity场景加载完成后通知Flutter
|
|
SendMessageToFlutter("UNITY_READY");
|
|
}
|
|
|
|
// 处理来自Flutter的消息
|
|
public void HandleMessage(string message)
|
|
{
|
|
// 可以根据需要处理来自Flutter的特定指令
|
|
SendMessageToFlutter($"RECEIVED:{message}");
|
|
Debug.Log(message);
|
|
}
|
|
|
|
// 处理应用程序暂停/恢复
|
|
public void OnAppPause(string isPaused)
|
|
{
|
|
bool pause = isPaused.ToLower() == "true";
|
|
if (pause)
|
|
{
|
|
// 应用进入后台时的处理
|
|
SendMessageToFlutter("AR_PAUSED");
|
|
}
|
|
else
|
|
{
|
|
// 应用恢复前台时的处理
|
|
SendMessageToFlutter("AR_RESUMED");
|
|
}
|
|
}
|
|
|
|
private void SendMessageToFlutter(string message)
|
|
{
|
|
#if UNITY_ANDROID || UNITY_IOS
|
|
UnityMessageManager.Instance.SendMessageToFlutter(message);
|
|
#endif
|
|
}
|
|
|
|
private void OnDestroy()
|
|
{
|
|
SendMessageToFlutter("AR_DESTROYED");
|
|
}
|
|
} |