You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity合成系统开发:如何在列表中同时存储物品与对应数量?

解决方案

直接创建一个可序列化的嵌套类,把物品(Item)和对应的需求数量打包成一个独立单元,这样就能在同一个列表里同时存储两者,完全解决你说的问题,还能避免双列表不同步的风险。

具体实现步骤

1. 定义RecipeIngredient类

创建一个带[System.Serializable]标记的类,用来绑定物品和数量:

[System.Serializable]
public class RecipeIngredient
{
    public Item item;
    public int requiredAmount = 1; // 默认数量设为1,可在Inspector修改
}

这个类会被Unity编辑器识别,在Inspector面板里可以直接编辑每个条目的物品和数量。

2. 修改Recipe ScriptableObject

把原来的List<Item>替换成List<RecipeIngredient>:

public class Recipe : ScriptableObject
{
    new public string name = "New Recipe";
    public List<RecipeIngredient> requiredItems;
    public Item outputItem;
}

效果说明

修改完成后,在Unity Inspector里编辑Recipe资源时,每个requiredItems条目都会展开显示对应的Item选择框和数量输入框,直观又不会出错,完全符合你想要的“同一列表存储物品与对应数量”的需求。

内容的提问来源于stack exchange,提问作者Siyun Cho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 20:25:46