Compare commits

...

9 Commits

Author SHA1 Message Date
db745820e8 Update com.alicizax.unity.framework 2026-04-17 15:34:53 +08:00
c889974787 Update com.alicizax.unity.packagemanager 2026-04-17 14:37:45 +08:00
a8b06a603e update 2026-04-17 14:22:03 +08:00
bbd2a6c342 11 2026-04-17 13:27:39 +08:00
563ffbc7a6 update 2026-04-15 16:14:06 +08:00
c5f470f8f5 Update com.alicizax.unity.framework 2026-04-15 09:51:41 +08:00
46cbf99cf0 Update com.alicizax.unity.framework 2026-04-15 09:46:01 +08:00
e1b76f51ca update 2026-04-15 09:39:38 +08:00
30da2271bd update 2026-04-14 11:24:09 +08:00
19 changed files with 103 additions and 266 deletions

View File

@ -29,11 +29,9 @@ namespace Unity.Startup.Procedure
if (StartupSetting.Version != AppVersion.GameVersion)
{
Log.Warning($"Version inconsistency : {AppVersion.GameVersion}->{StartupSetting.Version} ");
#if UNITY_EDITOR
UnityEditor.EditorApplication.isPlaying = false;
#else
Utility.Platform.OpenURL(StartupSetting.AppDownloadUrl);
Utility.Platform.Quit();
#if !UNITY_EDITOR
Utility.Platform.OpenURL(StartupSetting.AppDownloadUrl);
#endif
return;
}
@ -43,13 +41,14 @@ namespace Unity.Startup.Procedure
catch (Exception e)
{
Log.Exception(e);
if (currentTryCount > MaxTryCount)
{
return;
}
await UniTask.Delay(3000);
GetAppVersionInfo();
currentTryCount++;
if (currentTryCount <= MaxTryCount)
{
await UniTask.Delay(3000);
GetAppVersionInfo();
}
}
}
}

View File

@ -7,6 +7,7 @@ namespace Unity.Startup.Procedure
internal sealed class ProcedureInitPackageState : ProcedureBase
{
private int maxFailedCount = 0;
private const int MAX_FAILED_TRYCOUNT = 3;
protected override void OnEnter()
{
@ -20,6 +21,7 @@ namespace Unity.Startup.Procedure
{
hostUrl = StartupSetting.CDNUrl;
}
await GameApp.Resource.InitPackageAsync(string.Empty, hostUrl, hostUrl);
await UniTask.DelayFrame();
UpdateStaticVersion().Forget();
@ -37,15 +39,21 @@ namespace Unity.Startup.Procedure
GameApp.Resource.PackageVersion = packageVersion;
Log.Info($"Updated package Version : {packageVersion}");
maxFailedCount = 0;
UpdateManifest().Forget();
}
else
{
maxFailedCount++;
//更新失败
Log.Error(buildInOperation.Error);
await UniTask.Delay(3000);
Log.Info("Retry Update Static Version");
UpdateStaticVersion().Forget();
if (maxFailedCount <= MAX_FAILED_TRYCOUNT)
{
await UniTask.Delay(3000);
UpdateStaticVersion().Forget();
Log.Info($"Retry Update Static Version...{maxFailedCount}");
}
}
}
@ -69,19 +77,19 @@ namespace Unity.Startup.Procedure
SwitchProcedure<ProcedurePatchDoneState>();
return;
}
SwitchProcedure<ProcedureDownloadBundleState>();
}
else
{
maxFailedCount++;
Log.Error(buildInOperation.Error);
if (maxFailedCount >= 3)
if (maxFailedCount <= MAX_FAILED_TRYCOUNT)
{
Log.Error(buildInOperation.Error);
return;
await UniTask.Delay(3000);
UpdateManifest().Forget();
Log.Info($"Retry Update Manifest Version...{maxFailedCount}");
}
UpdateManifest().Forget();
}
}
}

View File

@ -1,43 +1,27 @@
using System;
#if ENABLE_HYBRIDCLR
using System;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using AlicizaX;
using UnityEngine;
using YooAsset;
#if ENABLE_HYBRIDCLR
using HybridCLR;
#endif
namespace Unity.Startup.Procedure
{
public sealed class ProcedureLoadAssembly : ProcedureBase
{
#if ENABLE_HYBRIDCLR
private int m_LoadAssetCount;
private int m_LoadMetadataAssetCount;
private int m_FailureAssetCount;
private int m_FailureMetadataAssetCount;
private bool m_LoadAssemblyComplete;
private bool m_LoadMetadataAssemblyComplete;
private bool m_LoadAssemblyWait;
#pragma warning disable CS0414
private bool m_LoadMetadataAssemblyWait;
#pragma warning restore CS0414
private Assembly m_MainLogicAssembly;
private List<Assembly> m_HotfixAssemblys;
#endif
protected override void OnEnter()
{
#if !ENABLE_HYBRIDCLR
SwitchProcedure<ProcedureUpdateFinishState>();
return;
#endif
#if ENABLE_HYBRIDCLR
Log.Info(" ProcedureLoadAssembly OnEnter");
m_LoadAssemblyComplete = false;
m_HotfixAssemblys = new List<Assembly>();
@ -73,11 +57,8 @@ namespace Unity.Startup.Procedure
{
m_LoadAssemblyComplete = true;
}
#endif
}
#if ENABLE_HYBRIDCLR
protected override void OnUpdate()
{
if (!m_LoadAssemblyComplete)
@ -180,7 +161,6 @@ namespace Unity.Startup.Procedure
}
catch (Exception e)
{
m_FailureAssetCount++;
Log.Error(e.Message);
throw;
}
@ -246,7 +226,6 @@ namespace Unity.Startup.Procedure
}
catch (Exception e)
{
m_FailureMetadataAssetCount++;
Log.Error(e.Message);
throw;
}
@ -257,6 +236,7 @@ namespace Unity.Startup.Procedure
GameApp.Resource.UnloadAsset(textAsset);
}
#endif
}
}
#endif

View File

@ -1,5 +1,4 @@

using AlicizaX;
using AlicizaX;
using Cysharp.Threading.Tasks;
using UnityEngine;
using YooAsset;
@ -18,7 +17,12 @@ namespace Unity.Startup.Procedure
private void ClearCacheCompleted(AsyncOperationBase obj)
{
Log.Info($"清理包裹缓存完成");
#if ENABLE_HYBRIDCLR
SwitchProcedure<ProcedureLoadAssembly>();
#else
SwitchProcedure<ProcedureUpdateFinishState>();
#endif
}
}
}

View File

@ -20,7 +20,9 @@ namespace Unity.Startup.Procedure
new ProcedureInitPackageState(),
new ProcedureDownloadBundleState(),
new ProcedurePatchDoneState(),
#if ENABLE_HYBRIDCLR
new ProcedureLoadAssembly(),
#endif
new ProcedureUpdateFinishState(),
},
typeof(ProcedureEntryState)

View File

@ -4,7 +4,6 @@
"references": [
"UniTask.Runtime",
"HybridCLR.Runtime",
"AlicizaX.Entry.Runtime",
"YooAsset",
"UniTask.YooAsset",
"HybridCLRGenerate",

View File

@ -1,163 +0,0 @@
{
"FileVersion": "2025.9.30",
"EnableAddressable": true,
"SupportExtensionless": true,
"LocationToLower": false,
"IncludeAssetGUID": false,
"ReplaceAssetPathWithAddress": false,
"OutputNameStyle": 0,
"BuildBundleType": 1,
"BuildPipeline": "EditorSimulateBuildPipeline",
"PackageName": "DefaultPackage",
"PackageVersion": "Simulate",
"PackageNote": "2026/4/9 15:56:31",
"AssetList": [
{
"Address": "LocalizationTable",
"AssetPath": "Assets/Bundles/Configs/LocalizationTable.asset",
"AssetGUID": "",
"AssetTags": [
"WEBGL_PRELOAD",
"Configs"
],
"BundleID": 0,
"DependBundleIDs": []
},
{
"Address": "PoolConfig",
"AssetPath": "Assets/Bundles/Configs/PoolConfig.asset",
"AssetGUID": "",
"AssetTags": [
"WEBGL_PRELOAD",
"Configs"
],
"BundleID": 0,
"DependBundleIDs": []
},
{
"Address": "Map1000",
"AssetPath": "Assets/Bundles/Scenes/Map1000.unity",
"AssetGUID": "",
"AssetTags": [
"Scenes"
],
"BundleID": 1,
"DependBundleIDs": []
},
{
"Address": "MyShaderVariants",
"AssetPath": "Assets/Bundles/ShaderVariants/MyShaderVariants.shadervariants",
"AssetGUID": "",
"AssetTags": [
"ShaderVariants"
],
"BundleID": 5,
"DependBundleIDs": []
},
{
"Address": "UILoadUpdateWindow",
"AssetPath": "Assets/Bundles/UI/UILoadUpdateWindow.prefab",
"AssetGUID": "",
"AssetTags": [
"UI"
],
"BundleID": 2,
"DependBundleIDs": []
},
{
"Address": "UILogicTestAlert",
"AssetPath": "Assets/Bundles/UI/Window/UILogicTestAlert.prefab",
"AssetGUID": "",
"AssetTags": [
"UI"
],
"BundleID": 3,
"DependBundleIDs": []
},
{
"Address": "Brush Impact 5",
"AssetPath": "Assets/Bundles/UIRaw/Atlas/Common/Grunge/Brush Impact 5.png",
"AssetGUID": "",
"AssetTags": [
"UIRaw"
],
"BundleID": 4,
"DependBundleIDs": []
}
],
"BundleList": [
{
"BundleName": "assets_bundles_configs.bundle",
"UnityCRC": 0,
"FileHash": "3a378d308429cd99b280d880a27af478",
"FileCRC": 0,
"FileSize": 5490,
"Encrypted": false,
"Tags": [
"WEBGL_PRELOAD",
"Configs"
],
"DependBundleIDs": []
},
{
"BundleName": "assets_bundles_scenes_map1000.bundle",
"UnityCRC": 0,
"FileHash": "4530edb970dd229fed5dd3259fee4ece",
"FileCRC": 0,
"FileSize": 12277,
"Encrypted": false,
"Tags": [
"Scenes"
],
"DependBundleIDs": []
},
{
"BundleName": "assets_bundles_ui_uiloadupdatewindow.bundle",
"UnityCRC": 0,
"FileHash": "9ff2ef11fc95cbce9b51368acd1d4383",
"FileCRC": 0,
"FileSize": 59076,
"Encrypted": false,
"Tags": [
"UI"
],
"DependBundleIDs": []
},
{
"BundleName": "assets_bundles_ui_window_uilogictestalert.bundle",
"UnityCRC": 0,
"FileHash": "cf84038a2a1620e6ff49815bcd8e6a73",
"FileCRC": 0,
"FileSize": 21519,
"Encrypted": false,
"Tags": [
"UI"
],
"DependBundleIDs": []
},
{
"BundleName": "assets_bundles_uiraw_atlas_common_grunge.bundle",
"UnityCRC": 0,
"FileHash": "3dcf5b07fab616778c379807810653ea",
"FileCRC": 0,
"FileSize": 36701,
"Encrypted": false,
"Tags": [
"UIRaw"
],
"DependBundleIDs": []
},
{
"BundleName": "unityshaders.bundle",
"UnityCRC": 0,
"FileHash": "c9f21eee9f3febcafa65a26802cf31f0",
"FileCRC": 0,
"FileSize": 3518,
"Encrypted": false,
"Tags": [
"ShaderVariants"
],
"DependBundleIDs": []
}
]
}

@ -1 +1 @@
Subproject commit 7137cc0c81981ca867302492dd5c773526e7be63
Subproject commit 8d9b4a32ce2274020796f54a9f0465725d0bd84f

@ -1 +1 @@
Subproject commit e3d136a6112e15bb9cf87c9198af926ad24c2f0f
Subproject commit 9d755479987795111e7b8721713b70abf98846e5

@ -1 +1 @@
Subproject commit 9fb89cde6f834391c1a68c27d96322d1ac16d006
Subproject commit c37b5cd51be3532141bc44bc944406753300c359

@ -1 +1 @@
Subproject commit 43e6a6ba83ee3b108a51793a19529a61c36a908e
Subproject commit ae16bdcf37f77929aec1c6178321c333ad9d4d92

View File

@ -3,7 +3,7 @@
"com.alicizax.unity.cysharp.zstring": "http://101.34.252.46:3000/AlicizaX/com.alicizax.unity.cysharp.zstring.git",
"com.code-philosophy.hybridclr": "https://gitee.com/focus-creative-games/hybridclr_unity.git",
"com.code-philosophy.luban": "http://101.34.252.46:3000/yuliuren/luban_unity.git",
"com.kyrylokuzyk.primetween": "http://101.34.252.46:3000/AlicizaX/com.alicizax.kyrylokuzyk.primetween.git",
"com.kyrylokuzyk.primetween": "1.3.8",
"com.unity.2d.sprite": "1.0.0",
"com.unity.ide.rider": "3.0.38",
"com.unity.ide.visualstudio": "2.0.23",

View File

@ -66,14 +66,14 @@
"depth": 0,
"source": "git",
"dependencies": {},
"hash": "d870def77ce13ea942786a6f9e6e55112b46c331"
"hash": "061314200e2f03307c4d90b448e1de7b85431905"
},
"com.kyrylokuzyk.primetween": {
"version": "http://101.34.252.46:3000/AlicizaX/com.alicizax.kyrylokuzyk.primetween.git",
"version": "1.3.8",
"depth": 0,
"source": "git",
"source": "registry",
"dependencies": {},
"hash": "10726744d42ac0a51bfdf4d813efb32a4f5372e3"
"url": "https://registry.npmjs.org"
},
"com.unity.2d.sprite": {
"version": "1.0.0",

View File

@ -13,6 +13,17 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
generateScriptCodeFirstConfig: ChineseSimplified
generateLanguageTypesNamespace:
generateLanguageTypesTemplate: "using System.Collections.Generic;\n\n{NAMESPACE_START}///
<summary>\n/// AutoGenerate\n/// </summary>\npublic static class LanguageTypes\n{\n{LANGUAGE_CONSTANTS}\n\n
public static readonly IReadOnlyList<string> Languages = new List<string>\n
{\n{LANGUAGE_LIST}\n };\n\n public static string IndexToString(int index)\n
{\n if (index < 0 || index >= Languages.Count) return \"Unknown\";\n
return Languages[index];\n }\n\n public static int StringToIndex(string
s)\n {\n int index = -1;\n for (int i = 0; i < Languages.Count;
i++)\n {\n if (Languages[i] == s)\n {\n
index = i;\n break;\n }\n }\n\n return
index;\n }\n}\n{NAMESPACE_END}"
LanguageTypes:
- ChineseSimplified
- English

View File

@ -40,11 +40,11 @@ MonoBehaviour:
m_Position:
serializedVersion: 2
x: 0
y: 267
width: 743
height: 680
m_MinSize: {x: 51, y: 71}
m_MaxSize: {x: 4001, y: 4021}
y: 549
width: 519
height: 398
m_MinSize: {x: 50, y: 50}
m_MaxSize: {x: 4000, y: 4000}
m_ActualView: {fileID: 14}
m_Panes:
- {fileID: 14}
@ -70,12 +70,12 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
width: 743
width: 519
height: 947
m_MinSize: {x: 100, y: 100}
m_MaxSize: {x: 8096, y: 16192}
vertical: 1
controlID: 25
controlID: 17
draggingID: 0
--- !u!114 &4
MonoBehaviour:
@ -193,8 +193,8 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
width: 743
height: 267
width: 519
height: 549
m_MinSize: {x: 201, y: 221}
m_MaxSize: {x: 4001, y: 4021}
m_ActualView: {fileID: 16}
@ -219,9 +219,9 @@ MonoBehaviour:
- {fileID: 11}
m_Position:
serializedVersion: 2
x: 743
x: 519
y: 0
width: 306
width: 373
height: 947
m_MinSize: {x: 100, y: 100}
m_MaxSize: {x: 8096, y: 16192}
@ -245,7 +245,7 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
width: 306
width: 373
height: 415
m_MinSize: {x: 202, y: 221}
m_MaxSize: {x: 4002, y: 4021}
@ -271,7 +271,7 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 415
width: 306
width: 373
height: 532
m_MinSize: {x: 102, y: 121}
m_MaxSize: {x: 4002, y: 4021}
@ -295,9 +295,9 @@ MonoBehaviour:
m_Children: []
m_Position:
serializedVersion: 2
x: 1049
x: 892
y: 0
width: 462
width: 407
height: 947
m_MinSize: {x: 232, y: 271}
m_MaxSize: {x: 10002, y: 10021}
@ -321,9 +321,9 @@ MonoBehaviour:
m_Children: []
m_Position:
serializedVersion: 2
x: 1511
x: 1299
y: 0
width: 409
width: 621
height: 947
m_MinSize: {x: 276, y: 71}
m_MaxSize: {x: 4001, y: 4021}
@ -353,9 +353,9 @@ MonoBehaviour:
m_Pos:
serializedVersion: 2
x: 0
y: 340
width: 742
height: 659
y: 622
width: 518
height: 377
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@ -408,10 +408,10 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 21
width: 742
height: 638
m_Scale: {x: 0.38645834, y: 0.38645834}
m_Translation: {x: 371, y: 319}
width: 518
height: 356
m_Scale: {x: 0.26979166, y: 0.26979166}
m_Translation: {x: 259, y: 178}
m_MarginLeft: 0
m_MarginRight: 0
m_MarginTop: 0
@ -419,12 +419,12 @@ MonoBehaviour:
m_LastShownAreaInsideMargins:
serializedVersion: 2
x: -960
y: -825.44476
y: -659.7684
width: 1920
height: 1650.8895
height: 1319.5367
m_MinimalGUI: 1
m_defaultScale: 0.38645834
m_LastWindowPixelSize: {x: 742, y: 659}
m_defaultScale: 0.26979166
m_LastWindowPixelSize: {x: 518, y: 377}
m_ClearInEditMode: 1
m_NoCameraWarning: 1
m_LowResolutionForAspectRatios: 01000000000000000000
@ -522,8 +522,8 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 73
width: 742
height: 246
width: 518
height: 528
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@ -1163,9 +1163,9 @@ MonoBehaviour:
m_Tooltip:
m_Pos:
serializedVersion: 2
x: -31257
x: -31481
y: -31970
width: 304
width: 371
height: 394
m_SerializedDataModeController:
m_DataMode: 0
@ -1182,7 +1182,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0}
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: 28fbffff
m_ExpandedIDs: 9e34ffff
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -1226,9 +1226,9 @@ MonoBehaviour:
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 743
x: 519
y: 488
width: 304
width: 371
height: 511
m_SerializedDataModeController:
m_DataMode: 0
@ -1260,9 +1260,9 @@ MonoBehaviour:
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 1049
x: 892
y: 73
width: 460
width: 405
height: 926
m_SerializedDataModeController:
m_DataMode: 0
@ -1301,7 +1301,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0}
m_SelectedIDs: e48c0000
m_LastClickedID: 36068
m_ExpandedIDs: 000000007e020000746a0000766a0000786a00007a6a00007c6a00007e6a0000806a0000826a0000846a0000866a0000886a00008a6a00008c6a00008e6a0000906a0000926a0000946a0000966a0000986a00009a6a00009c6a00009e6a0000a06a0000a26a0000a46a0000a66a0000a86a0000aa6a0000ac6a0000ae6a0000b06a0000b26a0000b46a0000b66a0000b86a0000ba6a0000bc6a0000be6a0000c06a0000c26a0000c46a0000c66a0000c86a0000ca6a0000cc6a0000ce6a0000d06a0000d26a0000d46a0000d66a0000d86a0000da6a0000dc6a0000de6a0000e06a0000e26a0000e46a0000e66a0000e86a0000ea6a0000ec6a0000ee6a0000f06a0000f26a0000f46a0000f66a0000f86a0000fa6a0000fc6a0000fe6a0000006b0000026b0000046b0000066b0000086b00000a6b00000c6b00000e6b0000106b0000126b0000146b0000166b0000186b00001a6b00001c6b00001e6b0000206b0000226b0000246b0000266b0000286b00002a6b00002c6b00002e6b0000306b0000326b0000346b0000366b0000386b00003a6b00003c6b00003e6b0000406b0000426b0000446b0000466b0000486b0000
m_ExpandedIDs:
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -1326,24 +1326,24 @@ MonoBehaviour:
m_Icon: {fileID: 0}
m_ResourceFile:
m_AssetTreeState:
scrollPos: {x: 0, y: 0}
scrollPos: {x: 0, y: 60}
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: ffffffff000000007e020000746a0000766a0000786a00007a6a00007c6a00007e6a0000806a0000826a0000846a0000866a0000886a00008a6a00008c6a00008e6a0000906a0000926a0000946a0000966a0000986a00009a6a00009c6a00009e6a0000a06a0000a26a0000a46a0000a66a0000a86a0000aa6a0000ac6a0000ae6a0000b06a0000b26a0000b46a0000b66a0000b86a0000ba6a0000bc6a0000be6a0000c06a0000c26a0000c46a0000c66a0000c86a0000ca6a0000cc6a0000ce6a0000d06a0000d26a0000d46a0000d66a0000d86a0000da6a0000dc6a0000de6a0000e06a0000e26a0000e46a0000e66a0000e86a0000ea6a0000ec6a0000ee6a0000f06a0000f26a0000f46a0000f66a0000f86a0000fa6a0000fc6a0000fe6a0000006b0000026b0000066b0000086b00000a6b00000c6b00000e6b0000106b0000126b0000146b0000166b0000186b00001a6b00001c6b00001e6b0000206b0000226b0000246b0000266b0000286b00002a6b00002c6b00002e6b0000306b0000326b0000346b0000366b0000386b00003a6b00003c6b00003e6b0000406b0000426b0000446b0000486b0000386d0000726f0000
m_ExpandedIDs: ffffffff0a0600006e060000920600009a070000b2070000560900009a0e0000ffffff7f
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name: Btn@ETest
m_OriginalName: Btn@ETest
m_Name: UILoadUpdateWindow
m_OriginalName: UILoadUpdateWindow
m_EditFieldRect:
serializedVersion: 2
x: 0
y: 0
width: 0
height: 0
m_UserData: -2524
m_UserData: 34468
m_IsWaitingForDelay: 0
m_IsRenaming: 0
m_OriginalEventType: 4
m_OriginalEventType: 0
m_IsRenamingFilename: 1
m_ClientGUIView: {fileID: 12}
m_SearchString:
@ -1405,9 +1405,9 @@ MonoBehaviour:
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 1511
x: 1299
y: 73
width: 408
width: 620
height: 926
m_SerializedDataModeController:
m_DataMode: 0