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