private bool CanAfford(Tradable tradable, int quantity) { DepartmentOfTheTreasury agency = base.Empire.GetAgency <DepartmentOfTheTreasury>(); float priceWithSalesTaxes = tradable.GetPriceWithSalesTaxes(TradableTransactionType.Buyout, base.Empire, (float)quantity); return(agency.CanAfford(new ConstructionCost[] { new ConstructionCost(DepartmentOfTheTreasury.Resources.EmpireMoney, priceWithSalesTaxes, true, false) })); }
private string GetFormattedPrice(Tradable tradable, int quantity) { float priceWithSalesTaxes = tradable.GetPriceWithSalesTaxes(TradableTransactionType.Buyout, base.Empire, (float)quantity); ConstructionCost[] costs = new ConstructionCost[] { new ConstructionCost(DepartmentOfTheTreasury.Resources.EmpireMoney, priceWithSalesTaxes, true, false) }; return(GuiFormater.FormatCost(base.Empire, costs, false, 1, null)); }
public float GetReferencePriceWithSalesTaxes(TradableTransactionType transactionType, global::Empire empire) { float num = Tradable.GetReferencePrice(this.TradableCategoryDefinition, this.Value); num = Tradable.ApplySalesTaxes(num, transactionType, empire); if (this is TradableUnit && transactionType == TradableTransactionType.Buyout && empire is MajorEmpire && empire.GetPropertyValue(SimulationProperties.MarketplaceMercCostMultiplier) > 0f) { num *= empire.GetPropertyValue(SimulationProperties.MarketplaceMercCostMultiplier); } else if (ELCPUtilities.UseELCPStockpileRulseset && this is TradableBooster && empire is MajorEmpire && empire.GetPropertyValue(SimulationProperties.MarketplaceStockpileCostMultiplier) > 0f) { num *= empire.GetPropertyValue(SimulationProperties.MarketplaceStockpileCostMultiplier); } return(this.GetPriceWithSeasonEffectModifier(num, empire)); }
public static float GetPriceWithSalesTaxes(StaticString boosterDefinitionName, TradableTransactionType transactionType, Empire empire, float quantity = 1f) { IDatabase <TradableCategoryDefinition> database = Databases.GetDatabase <TradableCategoryDefinition>(false); Diagnostics.Assert(database != null); StaticString key = "Tradable" + boosterDefinitionName; TradableCategoryDefinition tradableCategoryDefinition; if (database.TryGetValue(key, out tradableCategoryDefinition)) { float num = Tradable.GetUnitPrice(tradableCategoryDefinition, 0f); if (ELCPUtilities.UseELCPStockpileRulseset && empire is MajorEmpire && empire.GetPropertyValue(SimulationProperties.MarketplaceStockpileCostMultiplier) > 0f) { num *= empire.GetPropertyValue(SimulationProperties.MarketplaceStockpileCostMultiplier); } return(Tradable.ApplySalesTaxes(num * quantity, transactionType, empire)); } return(0f); }