public SpawnPoint GetSpawnPoint(string name) { SpawnPoint spawn; if (SpawnPoints.Count == 0) { Debug.LogFormat("the MapProperties for zone {0} does not have any spawn points", Zone.name); spawn = new SpawnPoint(); spawn.Direction.x = 0; spawn.Direction.y = -1.0f; spawn.Layer = CollisionLayer.One; if (Tilemap != null) { spawn.Position.x = (int)Tilemap.Bounds.center.x; spawn.Position.y = (int)Tilemap.Bounds.center.y; } } else if (!SpawnPoints.TryGetValue(name, out spawn)) { var index = Random.Range(0, SpawnPoints.Count); spawn = SpawnPoints.ElementAt(index).Value; } return(spawn); }