Exemple #1
0
 static int CalcCost(Recipe recipe)
 {
     return
         ((int)
          (recipe.Materials.Sum(p => ItemCostCalculator.GetUnitPrice(p.Key) * p.Value) /
           RecipeYieldCalculator.GetYield(recipe)));
 }
Exemple #2
0
 static int CalcCost(Recipe recipe, Character character, out double yield)
 {
     yield = RecipeYieldCalculator.GetYield(recipe, character);
     return
         ((int)
          (recipe.Materials.Sum(p => ItemCostCalculator.GetUnitPrice(p.Key) * p.Value) / yield));
 }
Exemple #3
0
        public void Recalculate()
        {
            UnitPriceMethod method;
            double          craftYield = 0;

            if (Character != null)
            {
                UnitCost  = ItemCostCalculator.GetUnitPrice(Item, Character, out method);
                CraftCost = Item.MadeFrom.Any() ? CraftCostCalculator.CostToCraft(Item, Character, out craftYield) : 0;
            }
            else
            {
                UnitCost  = ItemCostCalculator.GetUnitPrice(Item, out method);
                CraftCost = Item.MadeFrom.Any() ? CraftCostCalculator.CostToCraft(Item, out craftYield) : 0;
            }

            CraftYield            = craftYield;
            BestMethod            = method;
            MarketPrice           = MarketPriceCalculator.GetMarketPrice(Item);
            NetRevenue            = MarketPriceCalculator.GetNetSaleRevenue(Item);
            Profit                = NetRevenue - UnitCost;
            MarketCraftDifference = MarketPrice - CraftCost;

            Refreshed?.Invoke(this, new EventArgs());
        }