我有一个叫DisplayInventory的类
Dictionary itemsDisplayed =新Dictionary();
itemsDisplayed.Add(inventory.Containeri,obj);
代码在该行(inventory.Containeri)处中断,因为它不能转换(字段)列表InventoryObject.Container。
这是我的InventoryObject课
公共类InventoryObject : ScriptableObject {公共列表容器=新列表();公共无效AddItem(ItemObjectData _item,int _amount) { bool hasItem = false;for (int i= 0;i< Container.Count;i++) { if(Containeri.item == _item) { Containeri.AddAmount(_amount);hasItem = true;} if(!hasItem) {Container.Add();}}
}
System.Serializable公共类InventorySlot {公共ItemObjectData项;公共int数量;公共InventorySlot(ItemObjectData _item,int _amount) { item = _item;ItemObjectData= _amount;}
公共空AddAmount(int值){ +=值;}}
发布于 2022-02-22 09:28:48
缺少声明库存变量或特别是inventory.container的部分。或者这是来自InventoryObject类的容器?
您需要字典的特定类型InventoryObject。您要给它的只是一个列表对象,您把它放在容器中。如果您引用的是来自InventoryObject类的容器,那么它实际上只是一个List()。
在这种情况下,字典只需要库存作为输入。
或者你可以从
public List Container = new List();
到这个
public List<InventoryObject> Container = new List<InventoryObject>();
如果这个容器在InventoryObject之外,并且在库存类或其他什么的情况下,这还是更有意义的。
https://stackoverflow.com/questions/71214869
复制相似问题