void InitializePlayers() { SpawnController.InitializeStartPoints(); for (int i = 0; i < MatchSettings.currentMatchSettings.playersSettings.Count; i++) { var currentPlayerSettings = MatchSettings.currentMatchSettings.playersSettings[i]; Player player = new Player(currentPlayerSettings.color); player.teamIndex = currentPlayerSettings.team; player.selectedFaction = currentPlayerSettings.selectedFaction; player.isAIPlayer = currentPlayerSettings.isAI; if (mapSettings.isThisMapForSingleplayer) { player.money = currentPlayerSettings.startMoneyForSingleplayer; } else { player.money = MainStorage.startPlayerMoney; } playersController.AddPlayer(player); } if (MapSettings.autoSpawnPlayerStabs) { for (int i = 0; i < playersController.playersIngame.Count; i++) { SpawnController.SpawnPlayerStab((byte)i); } } }
void SpawnCurrentUnit(UnitData unitData) { var spawnedUnit = SpawnController.SpawnUnit(unitData, selfUnit.OwnerPlayerId, spawnPoint); if (spawnedUnit.GetComponent <Harvester>()) // resource harvesters have their own code to move to the resource field. { return; } var order = new MovePositionOrder { movePosition = moveWaypoint.position }; if (unitData.moveType == UnitData.MoveType.Flying) { order.movePosition += new Vector3(Random.Range(-3f, 3f), 0f, Random.Range(-3f, 3f)); } spawnedUnit.AddOrder(order, false); ShuffleUnitsOnExit(order.movePosition, selfUnit); }
void SpawnHarvester() { var spawnedHarvester = SpawnController.SpawnUnit(harversterUnitData, selfUnit.OwnerPlayerId, carryOutResourcesPoint); spawnedHarvester.GetComponent <Harvester>().SetRefinery(this); }