using System; using System.Collections.Generic; using UnityEngine; /// /// 道具效果类型(一级/二级道具共用,配置时下拉选择), /// 具体效果在 GameMainPanel_FishBase.UsePropEffect 按枚举分发。 /// public enum PropEffectType { 无 = 0, 火箭炮 = 1, 激光炮 = 2, 冰冻 = 3, 锁定 = 4, 闪电 = 5, 护盾 = 6, 速射 = 7, 召唤卡 = 8, 大喇叭 = 9, } /// 一级道具条目(左侧道具菜单主列表) [Serializable] public class PropItemData { [Tooltip("道具名(克隆项上 TextMeshProUGUI 显示)")] public string name; [Tooltip("图标(克隆项上 Image 显示,可不填)")] public Sprite icon; [Tooltip("描述(备用字段)")] [TextArea] public string desc; [Tooltip("效果类型(枚举选择)")] public PropEffectType effectType = PropEffectType.无; [Tooltip("二级子道具(点击一级道具后展开的细节列表)")] public List subProps = new List(); } /// 二级子道具条目(细节) [Serializable] public class SubPropData { [Tooltip("子道具名")] public string name; [Tooltip("图标(可不填)")] public Sprite icon; [Tooltip("描述(备用字段)")] [TextArea] public string desc; [Tooltip("效果类型(枚举选择,点击子道具时按此分发效果)")] public PropEffectType effectType = PropEffectType.无; [Tooltip("效果参数(次数/时长/倍率等,按效果自定义含义)")] public int param; } /// /// 左侧道具菜单配置资产(ScriptableObject),手动配置: /// Assets 右键 → Create → MyGame → 左侧道具配置 生成 .asset, /// 填好一级道具与二级子道具后,拖到 GameMainPanel_FishBase 的 propConfigData 字段。 /// [CreateAssetMenu(fileName = "PropConfigData", menuName = "MyGame/左侧道具配置", order = 0)] public class PropConfigData : ScriptableObject { [Header("一级道具列表(顺序 = 菜单显示顺序)")] public List props = new List(); }