using System.Collections.Generic; using Item; namespace Entity { public class Inventory { public Entity from; // 物品所属实体 public List items = new List(); // 背包中的物品列表 /// /// 添加物品到背包 /// /// 要添加的物品 /// 添加的数量 public void AddItem(ItemResource resource, int count) { if (count <= 0) return; // 如果数量小于等于0,直接返回 // 检查背包中是否已存在相同物品 foreach (var item in items) { if (item.resource.Equals(resource)) { item.count += count; // 增加数量 return; } } // 如果没有找到相同物品,则创建新物品并添加到背包 var newItem = new ItemBase { resource = resource, count = count }; items.Add(newItem); } /// /// 从背包中取出物品 /// /// 物品名称 /// 取出的数量 /// 是否成功取出 public bool RemoveItem(string itemName, int count) { if (count <= 0) return false; // 如果数量小于等于0,直接返回失败 foreach (var item in items) { if (item.resource.name == itemName) { if (item.count >= count) { item.count -= count; // 减少数量 if (item.count == 0) { items.Remove(item); // 如果数量为0,则移除该物品 } return true; // 成功取出 } else { return false; // 数量不足 } } } return false; // 未找到物品 } } }