Example #1
0
        public void OnStart(ResponseGameInfo gameInfo, ResponseData data, ResponseObservation observation, uint playerId)
        {
            if (realTime)
            {
                sw = new Stopwatch();
                sw.Start();
            }
            GameInfo          = gameInfo;
            Data              = data;
            Observation       = observation;
            PlayerId          = (int)playerId - 1;
            OppenentsPlayerId = PlayerId == 1 ? 0 : 1;
            Race              = GameInfo.PlayerInfo[PlayerId].RaceActual;
            OpponentsRace     = GameInfo.PlayerInfo[OppenentsPlayerId].RaceActual;
            Units.LoadData();
            StateManager = new StateManager();
            StateManager.OnFrame();

            Map = new MapAnalyser();
            Map.Analyse(this);
            Build = new RoachAllIn();
            if (test)
            {
                Build = new Testzerg();
            }
            Build.OnStart();

            TaskManager = new TaskManager();
        }
Example #2
0
        private void GenerateColonies(StartRaw startRaw)
        {
            Colonies = MapAnalyser.GetColonies(MineralFields.Values.Cast <IUnit>().ToList(), VespeneGeysers.Values.Cast <IUnit>().ToList(), startRaw.StartLocations);
            // Find Primary Colony
            var mainBase = StructuresSelf.First();
            var primary  = (IntelColony)mainBase.Value.Pos.ConvertTo2D().GetClosest(Colonies);

            primary.Workers    = WorkersSelf.Select(kvp => (IUnit)kvp.Value).ToList();
            primary.Structures = new List <IUnit> {
                mainBase.Value
            };
            PrimaryColony = primary;
        }