// Gets called multiple times during the game... public BotMain() { this.CardsHandler = new CardsHandler(this); this.LastVisibleMapUpdater = new LastVisibleMapUpdater(this); this.StatelessFogRemover = new StatelessFogRemover(this); //this.FogRemover = new StatefulFogRemover(this); this.HistoryTracker = new HistoryTracker(this); this.MovesScheduler2 = new MovesScheduler(this); this.MovesCalculator = new MovesCalculator(this); this.DeleteBadMovesTask = new DeleteBadMovesTask(this); this.TerritoryValueCalculator = new TerritoryValueCalculator(this); this.ExpansionMapUpdater = new ExpansionMapUpdater(this); this.BreakTerritoryTask = new BreakTerritoryTask(this); this.BonusValueCalculator = new BonusValueCalculator(this); this.ExpansionTask = new ExpansionTask(this); this.BonusExpansionValueCalculator = new BonusExpansionValueCalculator(this); this.BonusPickValueCalculator = new BonusPickValueCalculator(this); this.DefendTerritoryTask = new DefendTerritoryTask(this); this.DefendTerritoriesTask = new DefendTerritoriesTask(this); this.MapUpdater = new MapUpdater(this); this.PreventOpponentExpandBonusTask = new PreventOpponentExpandBonusTask(this); this.TakeTerritoriesTaskCalculator = new TakeTerritoriesTaskCalculator(this); this.OpponentDeploymentGuesser = new OpponentDeploymentGuesser(this); this.PicksEvaluator = new PicksEvaluator(this); }