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();
}