Files
5.24BuYu/Assets/MyGame/aa/UI/Game/PropConfigData.cs
T

74 lines
2.2 KiB
C#
Raw Normal View History

2026-09-06 15:51:51 +08:00
using System;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 道具效果类型(一级/二级道具共用,配置时下拉选择),
/// 具体效果在 GameMainPanel_FishBase.UsePropEffect 按枚举分发。
/// </summary>
public enum PropEffectType
{
无 = 0,
火箭炮 = 1,
激光炮 = 2,
冰冻 = 3,
锁定 = 4,
闪电 = 5,
护盾 = 6,
速射 = 7,
召唤卡 = 8,
大喇叭 = 9,
}
/// <summary>一级道具条目(左侧道具菜单主列表)</summary>
[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<SubPropData> subProps = new List<SubPropData>();
}
/// <summary>二级子道具条目(细节)</summary>
[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;
}
/// <summary>
/// 左侧道具菜单配置资产(ScriptableObject),手动配置:
/// Assets 右键 → Create → MyGame → 左侧道具配置 生成 .asset,
/// 填好一级道具与二级子道具后,拖到 GameMainPanel_FishBase 的 propConfigData 字段。
/// </summary>
[CreateAssetMenu(fileName = "PropConfigData", menuName = "MyGame/左侧道具配置", order = 0)]
public class PropConfigData : ScriptableObject
{
[Header("一级道具列表(顺序 = 菜单显示顺序)")]
public List<PropItemData> props = new List<PropItemData>();
}