Beispiel #1
0
    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)
        }));
    }
Beispiel #2
0
    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));
    }
Beispiel #3
0
    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));
    }
Beispiel #4
0
    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);
    }