/// <summary> /// カバン内の弓矢を自動スタック処理 /// </summary> /// <param name="arrow"></param> private void AddArrow(ConsumptionItem arrow) { foreach (Item i in bag) { if ((!(i is ConsumptionItem))) { continue; } if (((ConsumptionItem)i).GetItemID() != arrow.GetItemID()) { continue; } int leftStock = ((ConsumptionItem)i).GetAmountLimit() - ((ConsumptionItem)i).GetStack(); if (arrow.GetStack() <= leftStock) { ((ConsumptionItem)i).AddStack(arrow.GetStack()); return; } else { ((ConsumptionItem)i).AddStack(leftStock); arrow.AddStack(-leftStock); } } bag.Add(arrow); }
/// <summary> /// 矢を一つ減少 /// </summary> public void DecreaseArrow() { arrow.AddStack(-1); if (arrow.GetStack() <= 0) { arrow = null; } }