public int AddSubworld(Subworld subworld) { int id = WorldSubWorlds.Count; WorldSubWorlds.Add(id, subworld); subworld.SetSubworldID(id); return(id); }
public Subworld GetSubworld(int id) { if (WorldSubWorlds.TryGetValue(id, out Subworld sw)) { return(sw); } if (id == -1) { return(null); } Debug.LogError("Subworld with ID " + id + " not found"); return(null); }
public int AddSubworld(Subworld subworld) { int id = subworld.SubworldID; WorldSubWorlds.Add(id, subworld); //get the chunk position Vec2i cPos = World.GetChunkPosition(subworld.ExternalEntrancePos); if (!OrderedSubworlds.ContainsKey(cPos)) { OrderedSubworlds.Add(cPos, new List <int>()); } //Add ID to relevent chunk position OrderedSubworlds[cPos].Add(id); return(id); }