public void UnregisterSpawnPoint(SpawnPoint spawnPoint) { foreach (GameTypeData gameTypeData in spawnPoint.GameTypes) { //Debug.Log($"Unregistering spawnpoint {spawnPoint.name} for game type {gameTypeData.Name}"); SpawnPoints spawnPoints = _spawnPoints.GetOrDefault(gameTypeData); spawnPoints?.Remove(spawnPoint); } }
private void SpawnNewBlueGagNode() { //Debug.Log("Blue Gags (" + GagsOnMapCounter + ")" + " < " + MinMaxGagLimits.x + " Spawning more"); if (SpawnPoints.Count != 0) { var ranIndex = Random.Range(0, SpawnPoints.Count); var node = Instantiate(blueGagNodePrefab, SpawnPoints[ranIndex].gameObject.transform.position, Quaternion.identity); SpawnPointstOccupied.Add(SpawnPoints[ranIndex]); node.SpawnPoint = SpawnPoints[ranIndex]; SpawnPoints.Remove(SpawnPoints[ranIndex]); GagsOnMapCounter++; } else { Debug.LogWarning("NO avaliable spawnLocations for = " + this.GetType()); } }
public void RemovePortal(Portal PT) { if (PT.Name == "sp") { SpawnPoints.Remove(PT.ID); } else if (PT.Name == "tp") { // TownPortal: Mystic Door } else { if (Portals.ContainsKey(PT.Name)) { Console.WriteLine("Duplicate portal, Name: {0} MapID: {1}", PT.Name, ID); } else { Portals.Remove(PT.Name); } } }