3 Commits
Author SHA1 Message Date
cneicy e0191abb1e feat(settings): 优先加载标准 ShrinkSDK 资源路径
Publish UPM package / publish (push) Successful in 2s
2026-08-28 03:44:10 +08:00
cneicy ec91c434b6 chore(editor): unify application menus
Publish UPM package / publish (push) Successful in 2s
2026-08-26 12:48:30 +08:00
cneicy 0497fd6066 test(host): allow Unity test runner completion 2026-08-26 08:22:28 +08:00
6 changed files with 38 additions and 9 deletions
-1
View File
@@ -37,7 +37,6 @@ jobs:
"$unity_bin" \ "$unity_bin" \
-batchmode \ -batchmode \
-nographics \ -nographics \
-quit \
-projectPath "$PWD/Development~/UnityProject" \ -projectPath "$PWD/Development~/UnityProject" \
-runTests \ -runTests \
-testPlatform EditMode \ -testPlatform EditMode \
+7
View File
@@ -2,6 +2,13 @@
本文件记录 `ShrinkApp.Core` 的包内变更。 本文件记录 `ShrinkApp.Core` 的包内变更。
## [0.1.3] - 2026-08-28
### Changed
- `ShrinkAppSettings` 优先从 `GameAssets/Runtime/Data/ShrinkSDK/ShrinkAppSettings` 加载,并保留旧根路径回退。
- `ShrinkSDK/应用/创建设置` 统一在标准 `Resources/GameAssets/Runtime/Data/ShrinkSDK` 目录创建配置。
## [0.1.1] - 2026-08-16 ## [0.1.1] - 2026-08-16
### Added ### Added
+17 -5
View File
@@ -6,14 +6,13 @@ namespace ShrinkApp.Editor
{ {
public static class ShrinkAppEditorMenu public static class ShrinkAppEditorMenu
{ {
[MenuItem("ShrinkApp/创建 Settings")] [MenuItem("ShrinkSDK/应用/创建设置")]
public static void CreateSettingsAsset() public static void CreateSettingsAsset()
{ {
const string resourcesDir = "Assets/Resources"; const string settingsDirectory = "Assets/Resources/GameAssets/Runtime/Data/ShrinkSDK";
if (!AssetDatabase.IsValidFolder(resourcesDir)) EnsureFolder(settingsDirectory);
AssetDatabase.CreateFolder("Assets", "Resources");
const string assetPath = "Assets/Resources/ShrinkAppSettings.asset"; const string assetPath = settingsDirectory + "/ShrinkAppSettings.asset";
var existing = AssetDatabase.LoadAssetAtPath<ShrinkAppSettings>(assetPath); var existing = AssetDatabase.LoadAssetAtPath<ShrinkAppSettings>(assetPath);
if (existing != null) if (existing != null)
{ {
@@ -34,6 +33,19 @@ namespace ShrinkApp.Editor
EditorGUIUtility.PingObject(asset); EditorGUIUtility.PingObject(asset);
Debug.Log("[ShrinkApp] 已创建 ShrinkAppSettings.asset"); Debug.Log("[ShrinkApp] 已创建 ShrinkAppSettings.asset");
} }
private static void EnsureFolder(string path)
{
var segments = path.Split('/');
var current = segments[0];
for (var i = 1; i < segments.Length; i++)
{
var next = current + "/" + segments[i];
if (!AssetDatabase.IsValidFolder(next))
AssetDatabase.CreateFolder(current, segments[i]);
current = next;
}
}
} }
} }
#endif #endif
+5
View File
@@ -21,6 +21,11 @@ IShrinkAppModuleInstaller
[ShrinkAppModuleInstaller] [ShrinkAppModuleInstaller]
``` ```
`ShrinkAppSettings` 运行时优先从
`Resources/GameAssets/Runtime/Data/ShrinkSDK/ShrinkAppSettings.asset` 加载;旧项目的
`Resources/ShrinkAppSettings.asset` 继续作为回退。菜单 `ShrinkSDK/应用/创建设置`
会直接创建到新的标准目录。
## 启动流程 ## 启动流程
1. `ShrinkApp` 在 `RuntimeInitializeOnLoadMethod(BeforeSceneLoad)` 创建宿主。 1. `ShrinkApp` 在 `RuntimeInitializeOnLoadMethod(BeforeSceneLoad)` 创建宿主。
+8 -2
View File
@@ -117,9 +117,13 @@ namespace ShrinkApp
ContextLoader = 1, ContextLoader = 1,
} }
[CreateAssetMenu(fileName = "ShrinkAppSettings", menuName = "ShrinkApp/Settings")] [CreateAssetMenu(fileName = "ShrinkAppSettings", menuName = "ShrinkSDK/应用/应用设置")]
public class ShrinkAppSettings : ScriptableObject public class ShrinkAppSettings : ScriptableObject
{ {
public const string PreferredResourcesPath =
"GameAssets/Runtime/Data/ShrinkSDK/ShrinkAppSettings";
public const string LegacyResourcesPath = "ShrinkAppSettings";
private static ShrinkAppSettings? _instance; private static ShrinkAppSettings? _instance;
public static ShrinkAppSettings Instance public static ShrinkAppSettings Instance
@@ -129,7 +133,9 @@ namespace ShrinkApp
if (_instance != null) if (_instance != null)
return _instance; return _instance;
_instance = Resources.Load<ShrinkAppSettings>("ShrinkAppSettings"); _instance = Resources.Load<ShrinkAppSettings>(PreferredResourcesPath);
if (!_instance)
_instance = Resources.Load<ShrinkAppSettings>(LegacyResourcesPath);
#if UNITY_EDITOR #if UNITY_EDITOR
if (!_instance) if (!_instance)
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "com.cneicy.shrink-app-core", "name": "com.cneicy.shrink-app-core",
"version": "0.1.1", "version": "0.1.3",
"displayName": "ShrinkApp Core", "displayName": "ShrinkApp Core",
"description": "Shrink 系列统一宿主层,提供模块安装器、服务容器与统一启动流程。", "description": "Shrink 系列统一宿主层,提供模块安装器、服务容器与统一启动流程。",
"unity": "2022.3", "unity": "2022.3",