From dda63917589717c9d19ead3926b09b2d9168be2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?JasonXuDeveloper=20-=20=E5=82=91?= Date: Fri, 20 Oct 2023 15:39:37 +1100 Subject: [PATCH] fix editor script potential issues --- .../JEngineTools/EditorUpdates/ChangeScene.cs | 5 +- .../JEngineTools/EditorUpdates/SetData.cs | 77 ++++++++++--------- 2 files changed, 43 insertions(+), 39 deletions(-) diff --git a/UnityProject/Assets/Dependencies/JEngine/Editor/JEngineTools/EditorUpdates/ChangeScene.cs b/UnityProject/Assets/Dependencies/JEngine/Editor/JEngineTools/EditorUpdates/ChangeScene.cs index 4ff05069..97c7a99e 100644 --- a/UnityProject/Assets/Dependencies/JEngine/Editor/JEngineTools/EditorUpdates/ChangeScene.cs +++ b/UnityProject/Assets/Dependencies/JEngine/Editor/JEngineTools/EditorUpdates/ChangeScene.cs @@ -28,7 +28,6 @@ private static async void DoChange() var op = SceneManager.LoadSceneAsync(name); while (SceneManager.GetActiveScene().path != path) { - if (!Application.isPlaying) return; EditorUtility.DisplayProgressBar("JEngine", Setting.GetString(SettingString.JumpToStartUpScene), op.progress); await Task.Delay(100); } @@ -36,10 +35,10 @@ private static async void DoChange() DynamicGI.UpdateEnvironment(); } - var comp = Object.FindFirstObjectByType(); + var comp = Object.FindObjectOfType(); if (comp == null) { - Debug.LogWarning("没有找到InitJEngine脚本,无法检验秘钥是否正确"); + // Debug.LogWarning("没有找到InitJEngine脚本,无法检验秘钥是否正确"); return; } var key = comp.key; diff --git a/UnityProject/Assets/Dependencies/JEngine/Editor/JEngineTools/EditorUpdates/SetData.cs b/UnityProject/Assets/Dependencies/JEngine/Editor/JEngineTools/EditorUpdates/SetData.cs index d8418c9b..fee61bfe 100644 --- a/UnityProject/Assets/Dependencies/JEngine/Editor/JEngineTools/EditorUpdates/SetData.cs +++ b/UnityProject/Assets/Dependencies/JEngine/Editor/JEngineTools/EditorUpdates/SetData.cs @@ -11,7 +11,7 @@ internal static class SetData { public static bool HasAdded; private static string _path = "JEngine.proj"; - private static JEngineProjData _data = new JEngineProjData(); + private static JEngineProjData _data; public static void UpdateData(Action func) { @@ -23,54 +23,59 @@ public static void UpdateData(Action func) public static string GetPrefix() { - //看看文件存不存在,不存在就创建和提示 - string fPath = Path.Combine(Application.dataPath, _path); - if (!File.Exists(fPath)) + if (_data == null) { _data = new JEngineProjData(); - //兼容老版本 - bool flag = false; - if (File.Exists(Path.Combine(Application.dataPath, "JEngine.lock"))) + //看看文件存不存在,不存在就创建和提示 + string fPath = Path.Combine(Application.dataPath, _path); + if (!File.Exists(fPath)) { - _data.Prefix = File.ReadAllText(Path.Combine(Application.dataPath, "JEngine.lock")); - _data.EncryptPassword = PlayerPrefs.GetString($"{_data.Prefix}.EncryptPassword", ""); - File.Delete(Path.Combine(Application.dataPath, "JEngine.lock")); - } - else - { - _data.Prefix = Guid.NewGuid().ToString(); - flag = true; - } - Span data = stackalloc byte[_data.Size()]; - _data.AsBinary(ref data); - File.WriteAllBytes(fPath, data.ToArray()); - if (flag) - { - //提示看文档 - Debug.LogError(Setting.GetString(SettingString.NoticeText)); - EditorUtility.DisplayDialog(Setting.GetString(SettingString.Notice), - Setting.GetString(SettingString.NoticeText), Setting.GetString(SettingString.Done)); - if (Setting.Language == JEngineLanguage.English) + //兼容老版本 + bool flag = false; + if (File.Exists(Path.Combine(Application.dataPath, "JEngine.lock"))) { - Application.OpenURL("https://docs.xgamedev.net/documents/0.8/"); + _data.Prefix = File.ReadAllText(Path.Combine(Application.dataPath, "JEngine.lock")); + _data.EncryptPassword = PlayerPrefs.GetString($"{_data.Prefix}.EncryptPassword", ""); + File.Delete(Path.Combine(Application.dataPath, "JEngine.lock")); } else { - Application.OpenURL("https://docs.xgamedev.net/zh/documents/0.8/"); + _data.Prefix = Guid.NewGuid().ToString(); + flag = true; + } + + Span data = stackalloc byte[_data.Size()]; + _data.AsBinary(ref data); + File.WriteAllBytes(fPath, data.ToArray()); + if (flag) + { + //提示看文档 + Debug.LogError(Setting.GetString(SettingString.NoticeText)); + EditorUtility.DisplayDialog(Setting.GetString(SettingString.Notice), + Setting.GetString(SettingString.NoticeText), Setting.GetString(SettingString.Done)); + if (Setting.Language == JEngineLanguage.English) + { + Application.OpenURL("https://docs.xgamedev.net/documents/0.8/"); + } + else + { + Application.OpenURL("https://docs.xgamedev.net/zh/documents/0.8/"); + } } + + InjectDefineSymbol(); + } + else + { + //读取文件 + Span data = File.ReadAllBytes(fPath); + _data.FromBinary(ref data); } - InjectDefineSymbol(); - } - else - { - //读取文件 - Span data = File.ReadAllBytes(fPath); - _data.FromBinary(ref data); } return _data.Prefix; } - + public static void Update() { string prefix = GetPrefix();