2026-09-06 15:51:51 +08:00
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2026-09-06 19:49:25 +08:00
|
|
|
/// 一级道具条目(左侧道具菜单主列表,ScriptableObject 手动配置)。
|
|
|
|
|
/// 点击一级道具时,按 propType 读取后端已拥有道具(user.props)动态展开到第二层。
|
2026-09-06 15:51:51 +08:00
|
|
|
/// </summary>
|
|
|
|
|
[Serializable]
|
|
|
|
|
public class PropItemData
|
|
|
|
|
{
|
|
|
|
|
[Tooltip("道具名(克隆项上 TextMeshProUGUI 显示)")]
|
|
|
|
|
public string name;
|
|
|
|
|
|
|
|
|
|
[Tooltip("图标(克隆项上 Image 显示,可不填)")]
|
|
|
|
|
public Sprite icon;
|
|
|
|
|
|
|
|
|
|
[Tooltip("描述(备用字段)")]
|
|
|
|
|
[TextArea] public string desc;
|
|
|
|
|
|
2026-09-06 19:49:25 +08:00
|
|
|
[Tooltip("对应后端道具类型(none = 不过滤,展开显示全部已拥有道具)")]
|
|
|
|
|
public PropEnum propType = PropEnum.none;
|
2026-09-06 15:51:51 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2026-09-06 19:49:25 +08:00
|
|
|
/// 左侧道具菜单配置资产(ScriptableObject),只手动配置第一层:
|
2026-09-06 15:51:51 +08:00
|
|
|
/// Assets 右键 → Create → MyGame → 左侧道具配置 生成 .asset,
|
2026-09-06 19:49:25 +08:00
|
|
|
/// 填好一级道具(枚举选后端道具类型)后,拖到 GameMainPanel_FishBase 的 propConfigData 字段。
|
2026-09-10 01:07:35 +08:00
|
|
|
/// 第二层子道具由后端道具表 gameConfig.propConfig 按类型动态展开(数量为 0 也显示),无需配置。
|
2026-09-06 15:51:51 +08:00
|
|
|
/// </summary>
|
|
|
|
|
[CreateAssetMenu(fileName = "PropConfigData", menuName = "MyGame/左侧道具配置", order = 0)]
|
|
|
|
|
public class PropConfigData : ScriptableObject
|
|
|
|
|
{
|
2026-09-10 01:07:35 +08:00
|
|
|
[Header("一级道具列表(顺序 = 菜单显示顺序;第二层读 gameConfig.propConfig 按类型展开)")]
|
2026-09-06 15:51:51 +08:00
|
|
|
public List<PropItemData> props = new List<PropItemData>();
|
|
|
|
|
}
|