diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/App.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/App.cs index 2d308de..dc8d979 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/App.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/App.cs @@ -34,6 +34,11 @@ namespace AxibugEmuOnline.Client.ClientCore #region Mono public static TickLoop tickLoop; private static CoroutineRunner coRunner; + +#if UNITY_PSP2 + public static SonyVitaCommonDialog sonyVitaCommonDialog; +#endif + #endregion #if UNITY_PSP2 && !UNITY_EDITOR //PSV真机 @@ -43,9 +48,9 @@ namespace AxibugEmuOnline.Client.ClientCore #endif public static void Init(Initer initer, bool isTest = false, string testSrvIP = "") { + //其他平台必要的初始化 if (UnityEngine.Application.platform == RuntimePlatform.PSP2) { - //PSV 等平台需要手动创建目录 PSP2Init(); } @@ -88,9 +93,12 @@ namespace AxibugEmuOnline.Client.ClientCore Directory.CreateDirectory(PersistentDataPath); #if UNITY_PSP2 + //创建PSV弹窗UI + sonyVitaCommonDialog = new GameObject().AddComponent(); //释放解码 FMV的26M内存,一般游戏用不上(PSP才用那破玩意儿) UnityEngine.PSVita.PSVitaVideoPlayer.TransferMemToMonoHeap(); #endif + } private static IEnumerator AppTickFlow() diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/PSVita/SonyVitaCommonDialog.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/PSVita/SonyVitaCommonDialog.cs index 7c4b771..66de300 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/PSVita/SonyVitaCommonDialog.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/PSVita/SonyVitaCommonDialog.cs @@ -4,17 +4,17 @@ public class SonyVitaCommonDialog : MonoBehaviour { static Action resultAct = null; void Awake() - { + { #if UNITY_PSP2 Sony.Vita.Dialog.Ime.OnGotIMEDialogResult += OnGotIMEDialogResult; Sony.Vita.Dialog.Main.Initialise(); #endif - } + } - public void ShowPSVitaIME(Action callback, string placeHolder, string defaultText) + public void ShowPSVitaIME(Action callback, string placeHolder, string defaultText) { - resultAct = callback; #if UNITY_PSP2 + resultAct = callback; Sony.Vita.Dialog.Ime.ImeDialogParams info = new Sony.Vita.Dialog.Ime.ImeDialogParams(); // Set supported languages, 'or' flags together or set to 0 to support all languages. @@ -45,6 +45,7 @@ public class SonyVitaCommonDialog : MonoBehaviour if (result.result == Sony.Vita.Dialog.Ime.EnumImeDialogResult.RESULT_OK) { resultAct.Invoke(result); + resultAct = null; } } #endif