コード例 #1
0
        /// <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);
        }
コード例 #2
0
 /// <summary>
 /// 矢を一つ減少
 /// </summary>
 public void DecreaseArrow()
 {
     arrow.AddStack(-1);
     if (arrow.GetStack() <= 0)
     {
         arrow = null;
     }
 }