Exemplo n.º 1
0
        public bool CanBuild()
        {
            if (_game == null)
            {
                return(true);
            }

            return((Type != ETechType.Construction && Type != ETechType.ShipyardConstruction) ||
                   (Type == ETechType.ShipyardConstruction && Name.Contains("Shipyard")) ||
                   (Type == ETechType.ShipyardConstruction && !Name.Contains("Shipyard") && _game.NumberOfActiveShips(Team, Name) < _game.Faction[Team - 1].CapitalMaxDrones) ||
                   (Name.Contains("Miner") && _game.NumberOfMinerDrones(Team) < _game.GameSettings.MinersMaxDrones) ||
                   (Name.Contains("Drone") && _game.NumberOfActiveShips(Team, Name) < _game.GameSettings.MaximumPilots) ||
                   (Name.Contains("Tower") && _game.NumberOfConstructionDrones(Name, Team) < _game.GameSettings.ConstructorsMaxTowerDrones) ||
                   (Name.Contains("Constructor") && _game.NumberOfConstructionDrones(Name, Team) < _game.GameSettings.ConstructorsMaxDrones &&
                    _game.AllAsteroids.Count(_ => _.IsVisibleToTeam(Team - 1) && _.Type == GetAsteroidType(Name)) > 0));
        }