Beispiel #1
0
    internal static FactoryType getMostTeoreticalProfitable(Province province)
    {
        List <FactoryType> possiblefactories = province.WhatFactoriesCouldBeBuild();
        float possibleProfit = 0;
        float maxProfitFound = 0;

        foreach (FactoryType ft in possiblefactories)
        {
            // if (province.CanBuildNewFactory(ft) || province.CanUpgradeFactory(ft))
            {
                possibleProfit = ft.getPossibleProfit(province);
                if (possibleProfit > maxProfitFound)
                {
                    maxProfitFound = possibleProfit;
                }
            }
        }
        if (maxProfitFound > 0f)
        {
            foreach (FactoryType ft in possiblefactories)
            {
                if (ft.getPossibleProfit(province) == maxProfitFound && (province.CanBuildNewFactory(ft) || province.CanUpgradeFactory(ft)))
                {
                    return(ft);
                }
            }
        }
        return(null);
    }