[opt] installer安装成功后会记录 安装的版本,并且显示。

main
walon 2022-12-06 18:57:48 +08:00
parent 6be8b2671e
commit 419c3a98f6
3 changed files with 39 additions and 24 deletions

View File

@ -124,6 +124,20 @@ namespace HybridCLR.Editor.Installer
public string HybridclrLocalVersion => _hybridclrLocalVersion != null ? _hybridclrLocalVersion : _hybridclrLocalVersion = GetHybridCLRLocalVersion(); 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() private string GetHybridCLRLocalVersion()
{ {
string workDir = SettingsUtil.HybridCLRDataDir; string workDir = SettingsUtil.HybridCLRDataDir;
@ -226,15 +240,7 @@ namespace HybridCLR.Editor.Installer
string hybridclrRepoDir = $"{workDir}/{hybridclr_repo_path}"; string hybridclrRepoDir = $"{workDir}/{hybridclr_repo_path}";
{ {
BashUtil.RemoveDir(hybridclrRepoDir); BashUtil.RemoveDir(hybridclrRepoDir);
string[] args = string.IsNullOrWhiteSpace(hybridclrVer) ? new string[] string[] args = new string[]
{
"clone",
"--depth=1",
hybridclrRepoURL,
hybridclrRepoDir,
}
:
new string[]
{ {
"clone", "clone",
"--depth=1", "--depth=1",
@ -255,18 +261,7 @@ namespace HybridCLR.Editor.Installer
string il2cppPlusRepoDir = $"{workDir}/{il2cpp_plus_repo_path}"; string il2cppPlusRepoDir = $"{workDir}/{il2cpp_plus_repo_path}";
{ {
BashUtil.RemoveDir(il2cppPlusRepoDir); BashUtil.RemoveDir(il2cppPlusRepoDir);
string[] args = string.IsNullOrWhiteSpace(il2cppPlusVer) ? string[] args = new string[]
new string[]
{
"clone",
"--depth=1",
"-b",
$"{version.major}-main",
il2cppPlusRepoURL,
il2cppPlusRepoDir,
}
:
new string[]
{ {
"clone", "clone",
"--depth=1", "--depth=1",
@ -320,6 +315,8 @@ namespace HybridCLR.Editor.Installer
Debug.Log("安装成功!"); Debug.Log("安装成功!");
_hybridclrLocalVersion = null; _hybridclrLocalVersion = null;
_il2cppPlusLocalVersion = null; _il2cppPlusLocalVersion = null;
HybridCLRRepoInstalledVersion = hybridclrVer;
Il2CppRepoInstalledVersion = il2cppPlusVer;
} }
else else
{ {

View File

@ -10,12 +10,22 @@ namespace HybridCLR.Editor.Installer
{ {
private InstallerController _controller; private InstallerController _controller;
string _hybridclrVersion = ""; string _hybridclrVersion;
string _il2cppPlusVersion = ""; string _il2cppPlusVersion;
private void OnEnable() private void OnEnable()
{ {
_controller = new InstallerController(); _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() private void OnGUI()
@ -88,6 +98,14 @@ namespace HybridCLR.Editor.Installer
Debug.LogError($"il2cpp 版本不兼容,最小版本为 {_controller.GetCurrentUnityVersionMinCompatibleVersionStr()}"); Debug.LogError($"il2cpp 版本不兼容,最小版本为 {_controller.GetCurrentUnityVersionMinCompatibleVersionStr()}");
return; return;
} }
if (string.IsNullOrWhiteSpace(_hybridclrVersion))
{
_hybridclrVersion = "main";
}
if (string.IsNullOrWhiteSpace(_il2cppPlusVersion))
{
_il2cppPlusVersion = $"{_controller.MajorVersion}-main";
}
_controller.InstallLocalHybridCLR(_hybridclrVersion, _il2cppPlusVersion); _controller.InstallLocalHybridCLR(_hybridclrVersion, _il2cppPlusVersion);
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "com.focus-creative-games.hybridclr_unity", "name": "com.focus-creative-games.hybridclr_unity",
"version": "1.1.7", "version": "1.1.8",
"displayName": "HybridCLR", "displayName": "HybridCLR",
"description": "Unity package for HybridCLR. It includes editor and runtime scripts and assets for HybridCLR", "description": "Unity package for HybridCLR. It includes editor and runtime scripts and assets for HybridCLR",
"category": "Runtime", "category": "Runtime",