26 lines
858 B
C#
26 lines
858 B
C#
using UnityEngine;
|
||
|
||
namespace BaseGames.Equipment
|
||
{
|
||
/// <summary>
|
||
/// 护符目录 SO。
|
||
/// 全局唯一资产(Assets/Data/Equipment/CharmCatalog.asset),
|
||
/// 通过 charmId 查找 CharmSO 引用。
|
||
/// 由 EquipmentManager 在 AddToCollection / OnLoad 时查询。
|
||
/// </summary>
|
||
[CreateAssetMenu(menuName = "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;
|
||
}
|
||
}
|
||
}
|