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); }
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); } }