JinChanChan/Assets/Scripts/BeiBao/Item.cs

60 lines
1.4 KiB
C#

namespace BeiBao
{
/// <summary>
/// 定义物品类
/// 每个物品有名称、ID、最大堆叠数量和当前数量。
/// </summary>
public class Item
{
private string _itemName;
private int _itemID;
private int _maxStack;
private int _quantity;
public string ItemName => _itemName;
public int ItemID => _itemID;
public int MaxStack => _maxStack;
public int Quantity => _quantity;
public Item(string itemName, int itemID, int maxStack)
{
_itemName = itemName;
_itemID = itemID;
_maxStack = maxStack;
_quantity = 0;
}
// 尝试增加数量,返回剩余未能堆叠的数量
public int AddQuantity(int quantity)
{
int remaining = quantity;
if (Quantity + remaining > MaxStack)
{
remaining = (Quantity + quantity) - MaxStack;
_quantity = MaxStack;
}
else
{
_quantity += remaining;
remaining = 0;
}
return remaining;
}
// 尝试移除数量,返回是否成功
public bool RemoveQuantity(int quantity)
{
if (Quantity >= quantity)
{
_quantity -= quantity;
return true;
}
return false;
}
}
}