diff --git a/Editor/Installer/InstallerController.cs b/Editor/Installer/InstallerController.cs index a596f85..da81bf1 100644 --- a/Editor/Installer/InstallerController.cs +++ b/Editor/Installer/InstallerController.cs @@ -124,6 +124,20 @@ namespace HybridCLR.Editor.Installer public string HybridclrLocalVersion => _hybridclrLocalVersion != null ? _hybridclrLocalVersion : _hybridclrLocalVersion = GetHybridCLRLocalVersion(); + + public string HybridCLRRepoInstalledVersion + { + get { return EditorPrefs.GetString("hybridclr_repo"); } + set { EditorPrefs.SetString("hybridclr_repo", value); } + } + + public string Il2CppRepoInstalledVersion + { + get { return EditorPrefs.GetString("il2cpp_plus_repo"); } + set { EditorPrefs.SetString("il2cpp_plus_repo", value); } + } + + private string GetHybridCLRLocalVersion() { string workDir = SettingsUtil.HybridCLRDataDir; @@ -226,15 +240,7 @@ namespace HybridCLR.Editor.Installer string hybridclrRepoDir = $"{workDir}/{hybridclr_repo_path}"; { BashUtil.RemoveDir(hybridclrRepoDir); - string[] args = string.IsNullOrWhiteSpace(hybridclrVer) ? new string[] - { - "clone", - "--depth=1", - hybridclrRepoURL, - hybridclrRepoDir, - } - : - new string[] + string[] args = new string[] { "clone", "--depth=1", @@ -255,18 +261,7 @@ namespace HybridCLR.Editor.Installer string il2cppPlusRepoDir = $"{workDir}/{il2cpp_plus_repo_path}"; { BashUtil.RemoveDir(il2cppPlusRepoDir); - string[] args = string.IsNullOrWhiteSpace(il2cppPlusVer) ? - new string[] - { - "clone", - "--depth=1", - "-b", - $"{version.major}-main", - il2cppPlusRepoURL, - il2cppPlusRepoDir, - } - : - new string[] + string[] args = new string[] { "clone", "--depth=1", @@ -320,6 +315,8 @@ namespace HybridCLR.Editor.Installer Debug.Log("安装成功!"); _hybridclrLocalVersion = null; _il2cppPlusLocalVersion = null; + HybridCLRRepoInstalledVersion = hybridclrVer; + Il2CppRepoInstalledVersion = il2cppPlusVer; } else { diff --git a/Editor/Installer/InstallerWindow.cs b/Editor/Installer/InstallerWindow.cs index dbc4c42..0b3d1d5 100644 --- a/Editor/Installer/InstallerWindow.cs +++ b/Editor/Installer/InstallerWindow.cs @@ -10,12 +10,22 @@ namespace HybridCLR.Editor.Installer { private InstallerController _controller; - string _hybridclrVersion = ""; - string _il2cppPlusVersion = ""; + string _hybridclrVersion; + string _il2cppPlusVersion; private void OnEnable() { _controller = new InstallerController(); + _hybridclrVersion = _controller.HybridCLRRepoInstalledVersion; + if (string.IsNullOrWhiteSpace(_hybridclrVersion)) + { + _hybridclrVersion = "main"; + } + _il2cppPlusVersion = _controller.Il2CppRepoInstalledVersion; + if (string.IsNullOrWhiteSpace(_il2cppPlusVersion)) + { + _il2cppPlusVersion = $"{_controller.MajorVersion}-main"; + } } private void OnGUI() @@ -88,6 +98,14 @@ namespace HybridCLR.Editor.Installer Debug.LogError($"il2cpp 版本不兼容,最小版本为 {_controller.GetCurrentUnityVersionMinCompatibleVersionStr()}"); return; } + if (string.IsNullOrWhiteSpace(_hybridclrVersion)) + { + _hybridclrVersion = "main"; + } + if (string.IsNullOrWhiteSpace(_il2cppPlusVersion)) + { + _il2cppPlusVersion = $"{_controller.MajorVersion}-main"; + } _controller.InstallLocalHybridCLR(_hybridclrVersion, _il2cppPlusVersion); } } diff --git a/package.json b/package.json index cb818c3..39ee853 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.focus-creative-games.hybridclr_unity", - "version": "1.1.7", + "version": "1.1.8", "displayName": "HybridCLR", "description": "Unity package for HybridCLR. It includes editor and runtime scripts and assets for HybridCLR", "category": "Runtime",