/// <summary> /// Loads the room. /// </summary> /// <param name="id">The identifier.</param> /// <returns>Room.</returns> internal Room LoadRoom(uint id) { if (LoadedRooms.ContainsKey(id)) return GetRoom(id); var roomData = GenerateRoomData(id); if (roomData == null) return null; if (LoadedRooms.ContainsKey(id)) return GetRoom(id); var room = new Room(); LoadedRooms.AddOrUpdate(id, room, (key, value) => room); room.Start(roomData); Out.WriteLine(string.Format("Room #{0} was loaded", id), "Azure.Room.Manager", ConsoleColor.DarkCyan); room.InitBots(); room.InitPets(); return room; }
/// <summary> /// Loads the room. /// </summary> /// <param name="id">The identifier.</param> /// <param name="forceLoad"></param> /// <returns>Room.</returns> internal Room LoadRoom(uint id, bool forceLoad = false) { if (IsRoomLoaded(id)) return GetRoom(id); var roomData = GenerateRoomData(id); if (roomData == null) return null; var room = new Room(); LoadedRooms.AddOrUpdate(id, room, (key, value) => room); room.Start(roomData, forceLoad); Out.WriteLine($"Room #{id} was loaded", "Azure.Room.Manager", ConsoleColor.DarkCyan); room.InitBots(); room.InitPets(); return room; }