This commit is contained in:
2026-06-07 11:49:55 +08:00
parent ff0f3bde54
commit 1897658a00
98 changed files with 9903 additions and 13907 deletions

View File

@@ -0,0 +1,41 @@
using UnityEngine;
namespace BaseGames.UI
{
/// <summary>
/// 加载界面数据配置(策划编辑)。承载随机提示文案、标题与时长/手感参数。
/// <para>
/// 职责边界:本表只放<b>数据</b>。视觉样式(背景图、进度条 sprite、配色、布局、装饰全部在
/// <c>UI_LoadingScreen</c> 预制件里由美术在 Prefab Mode 编辑,配色随 <c>UI_Theme_Default</c> 主题;
/// 本表<b>不</b>放图片/颜色字段。
/// </para>
/// <see cref="LoadingScreenManager"/> 运行时优先读取本表;未指定时回退到组件上的序列化默认值。
/// </summary>
[CreateAssetMenu(menuName = "BaseGames/UI/Loading Config", fileName = "UI_LoadingConfig")]
public class LoadingScreenConfigSO : ScriptableObject
{
[Header("内容(本地化 KeyUI 表)")]
[Tooltip("随机加载提示的本地化 Key 列表(如 LOADING_TIP_EXPLORE。每次加载随机取一条留空则不显示提示。")]
[SerializeField] private string[] _tipKeys;
[Tooltip("加载界面标题的本地化 Key如 LOADING_TITLE。留空则不显示标题。")]
[SerializeField] private string _titleKey;
[Header("时长 / 手感")]
[Tooltip("加载画面最短显示时长(秒),避免一闪而过。")]
[SerializeField] private float _minDisplayTime = 0.5f;
[Tooltip("预计加载时长(秒)。进度条按此时间平滑爬升至约 90%,真正加载完成时再冲满。\n" +
"建议设为该游戏典型场景的加载耗时:偏长则爬得慢、偏短则更快到 90%。")]
[SerializeField] private float _expectedLoadTime = 2.5f;
[Tooltip("进度条填充缓动速度(每秒可填充比例),用于平滑收尾。")]
[SerializeField] private float _fillLerpSpeed = 1.6f;
public string[] TipKeys => _tipKeys;
public string TitleKey => _titleKey;
public float MinDisplayTime => _minDisplayTime;
public float ExpectedLoadTime => _expectedLoadTime;
public float FillLerpSpeed => _fillLerpSpeed;
}
}