Ejemplo n.º 1
0
        public void HandlesBuildingTypeWithZergBuilding(ZergBuildingType building)
        {
            var buildingType      = new BuildingType(building);
            var otherBuildingType = new BuildingType(building);

            Assert.IsTrue(buildingType == otherBuildingType);
        }
Ejemplo n.º 2
0
        private void Build(GameState gameState, List <ZergUnit> workers, ZergBuildingType building, uint minerals, uint vespene, List <Command> commands, bool allowMultipleInProgress)
        {
            var anotherInstanceBeingBuilt = gameState.RawUnits.Any(b => b.Alliance == Alliance.Self && gameState.Translator.IsUnitOfType(b, building) && b.BuildProgress < 1.0);

            if (!allowMultipleInProgress && anotherInstanceBeingBuilt)
            {
                return;
            }

            if (gameState.Observation.PlayerCommon.Minerals < minerals)
            {
                return;
            }

            if (gameState.Observation.PlayerCommon.Vespene < vespene)
            {
                return;
            }

            var worker = workers.FirstOrDefault();

            if (worker == null)
            {
                // We ran out of workers.
                return;
            }

            commands.Add(GetBuildCommand(worker, building, gameState));
        }
        public BuildingOrUnitType(ZergBuildingType building)
        {
            if (building == ZergBuildingType.Unspecified)
            {
                throw new ArgumentException("Invalid ZergBuildingType - 'Unspecified'.", "building");
            }

            this.ZergBuilding = building;
        }
Ejemplo n.º 4
0
 public BuildingOrUnitType(ZergBuildingType building)
 {
     this.Value = building;
 }
Ejemplo n.º 5
0
        public void HandlesZergBuildingType(ZergBuildingType building)
        {
            var buildingType = new BuildingOrUnitType(building);

            Assert.IsTrue(buildingType == building);
        }
Ejemplo n.º 6
0
        private BuildCommand GetBuildCommand(ZergUnit unit, ZergBuildingType building, GameState gameState)
        {
            var buildLocation = this.placementStrategy.GetPlacement(building, gameState); // TODO: Stop Hatcheries getting placed on mineral deposits.

            return(unit.Build(building, buildLocation));
        }
Ejemplo n.º 7
0
 private BuildCommand GetBuildCommand(ZergUnit unit, ZergBuildingType building, GameState gameState)
 {
     return(unit.Build(building, this.placementStrategy.GetPlacement(building, gameState)));
 }
Ejemplo n.º 8
0
 public BuildCommand Build(ZergBuildingType building, IBuildLocation location)
 {
     return(base.Build(building, location));
 }