private YieldSummary GetMultiplier(ICity city)
        {
            var owningCivilization = CityPossessionCanon.GetOwnerOfPossession(city);

            return(YieldSummary.Ones + IncomeModifierLogic.GetYieldMultipliersForCity(city)
                   + IncomeModifierLogic.GetYieldMultipliersForCivilization(owningCivilization));
        }
        public YieldSummary GetYieldOfCityCenter(ICity city)
        {
            YieldSummary centerYield = CityConfig.CityCenterBaseYield;

            centerYield += new YieldSummary(science: 1) * city.Population;

            centerYield += CityModifiers.BonusYield.GetValueForCity(city);

            if (UnitGarrisonLogic.IsCityGarrisoned(city))
            {
                centerYield += CityModifiers.GarrisonedYield.GetValueForCity(city);
            }

            var cityMultipliers = IncomeModifierLogic.GetYieldMultipliersForCity(city);
            var civMultipliers  = IncomeModifierLogic.GetYieldMultipliersForCivilization(CityPossessionCanon.GetOwnerOfPossession(city));

            centerYield *= (YieldSummary.Ones + cityMultipliers + civMultipliers);

            return(centerYield);
        }