1 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
5 changed files with 36 additions and 6 deletions
+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
+16 -4
View File
@@ -9,11 +9,10 @@ namespace ShrinkApp.Editor
[MenuItem("ShrinkSDK/应用/创建设置")] [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)` 创建宿主。
+7 -1
View File
@@ -120,6 +120,10 @@ namespace ShrinkApp
[CreateAssetMenu(fileName = "ShrinkAppSettings", menuName = "ShrinkSDK/应用/应用设置")] [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.2", "version": "0.1.3",
"displayName": "ShrinkApp Core", "displayName": "ShrinkApp Core",
"description": "Shrink 系列统一宿主层,提供模块安装器、服务容器与统一启动流程。", "description": "Shrink 系列统一宿主层,提供模块安装器、服务容器与统一启动流程。",
"unity": "2022.3", "unity": "2022.3",