Files
zeling_v2/Assets/_Game/Scripts/Equipment/CharmCatalogSO.cs
T

26 lines
868 B
C#

using UnityEngine;
namespace BaseGames.Equipment
{
/// <summary>
/// 护符目录 SO。
/// 全局唯一资产(Assets/Data/Equipment/CharmCatalog.asset),
/// 通过 charmId 查找 CharmSO 引用。
/// 由 EquipmentManager 在 AddToCollection / OnLoad 时查询。
/// </summary>
[CreateAssetMenu(menuName = "BaseGames/Equipment/CharmCatalog")]
public class CharmCatalogSO : ScriptableObject
{
[SerializeField] private CharmSO[] _charms;
/// <summary>按 charmId 查找护符,找不到返回 null。</summary>
public CharmSO Find(string charmId)
{
if (_charms == null || string.IsNullOrEmpty(charmId)) return null;
foreach (var charm in _charms)
if (charm != null && charm.charmId == charmId) return charm;
return null;
}
}
}