Example #1
0
        /// <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;
        }
Example #2
0
        /// <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;
        }