Example #1
0
        public bool CostCheck(GlobalResourceCost cost)
        {
            if (cost == null)
            {
                return(true);
            }
            if (!Power.CostCheck(cost.Power) || !Psionic.CostCheck(cost.Psionic))
            {
                return(false);
            }

            foreach (var i in cost.ItemCost)
            {
                var num = i.Value;
                foreach (var package in _RegisteredPackage)
                {
                    num -= package.GetItemNum(i.Key);
                    if (num <= 0)
                    {
                        break;
                    }
                }

                if (num > 0)
                {
                    return(false);
                }
            }

            return(true);
        }
Example #2
0
 public void Cost(GlobalResourceCost cost)
 {
     if (cost == null)
     {
         return;
     }
     Power.Cost(cost.Power);
     Psionic.Cost(cost.Psionic);
     if (cost.ItemCost == null)
     {
         return;
     }
     foreach (var i in cost.ItemCost)
     {
         var num = i.Value;
         foreach (var package in _RegisteredPackage)
         {
             num = package.CostItem(new ItemGroup(i.Key, num)).Remaining.FirstOrDefault().Count;
             if (num == 0)
             {
                 break;
             }
         }
     }
 }