public static MarketRequirementsComponent GetMarketRequirementsForCompany(GameContext gameContext, GameEntity c)
        {
            if (!c.hasMarketRequirements)
            {
                var niche = Markets.Get(gameContext, c);
                var reqs  = Markets.GetMarketRequirements(gameContext, niche);

                c.AddMarketRequirements(reqs.Features);
            }

            return(c.marketRequirements);
        }
Exemplo n.º 2
0
        public static void NotifyAllProductsAboutMarketRequirementsChanges(GameEntity product, GameContext gameContext)
        {
            var niche = Markets.Get(gameContext, product);

            // Calculate changes in market
            Markets.GetMarketRequirements(gameContext, niche);

            // Notify
            var copy = Markets.CopyMarketRequirements(niche.marketRequirements.Features);

            foreach (var c in Companies.GetDirectCompetitors(product, gameContext, true))
            {
                c.ReplaceMarketRequirements(copy);
            }
        }