Files
ShrinkTutorial/Runtime/Core/ShrinkTutorialSettings.cs
T
cneicy 2f9b0ff512
Publish UPM package / publish (push) Successful in 2s
chore(editor): remove duplicate tutorial menus
2026-08-26 12:48:32 +08:00

62 lines
2.0 KiB
C#

using UnityEngine;
namespace ShrinkTutorial
{
[CreateAssetMenu(fileName = "ShrinkTutorialSettings", menuName = "ShrinkSDK/引导/引导设置")]
public class ShrinkTutorialSettings : ScriptableObject
{
private static ShrinkTutorialSettings _instance;
public static ShrinkTutorialSettings Instance
{
get
{
if (_instance)
return _instance;
_instance = Resources.Load<ShrinkTutorialSettings>("ShrinkTutorialSettings");
#if UNITY_EDITOR
if (!_instance)
{
var guids = UnityEditor.AssetDatabase.FindAssets("t:ShrinkTutorialSettings");
if (guids.Length > 0)
{
var path = UnityEditor.AssetDatabase.GUIDToAssetPath(guids[0]);
_instance = UnityEditor.AssetDatabase.LoadAssetAtPath<ShrinkTutorialSettings>(path);
}
}
#endif
if (!_instance)
{
_instance = CreateInstance<ShrinkTutorialSettings>();
Debug.LogWarning(
"[ShrinkTutorial] 未找到 ShrinkTutorialSettings,当前使用默认配置。\n" +
"请通过 Assets -> Create -> ShrinkTutorial -> Settings 创建配置资源。");
}
return _instance;
}
internal set => _instance = value;
}
[Header("数据")]
public ShrinkTutorialDatabase database;
[Header("运行时")]
public bool autoCreateManager = true;
public bool dontDestroyOnLoad = true;
public int canvasSortingOrder = 9999;
[Header("遮罩")]
public Color maskColor = new(0f, 0f, 0f, 0.72f);
[Header("存储")]
public string playerPrefsStorageKey = "ShrinkTutorial.Progress";
[Header("交互")]
public bool showSkipButton = true;
}
}