示例#1
0
        /// <summary>
        ///     Generates the room data.
        /// </summary>
        /// <param name="roomId">The room identifier.</param>
        /// <returns>RoomData.</returns>
        internal RoomData GenerateRoomData(uint roomId)
        {
            if (LoadedRoomData.ContainsKey(roomId))
            {
                LoadedRoomData[roomId].LastUsed = DateTime.Now;
                return(LoadedRoomData[roomId]);
            }

            if (IsRoomLoaded(roomId))
            {
                return(GetRoom(roomId).RoomData);
            }

            RoomData roomData = new RoomData();

            using (IQueryAdapter queryReactor = Yupi.GetDatabaseManager().GetQueryReactor())
            {
                queryReactor.SetQuery($"SELECT * FROM rooms_data WHERE id = {roomId} LIMIT 1");

                DataRow dataRow = queryReactor.GetRow();
                if (dataRow == null)
                {
                    return(null);
                }

                roomData.Fill(dataRow);
                LoadedRoomData.TryAdd(roomId, roomData);
            }

            return(roomData);
        }
示例#2
0
        internal RoomData GenerateRoomData(uint RoomId)
        {
            if (this.loadedRoomData.Contains(RoomId))
            {
                return((RoomData)this.loadedRoomData[RoomId]);
            }
            RoomData roomData = new RoomData();

            if (this.IsRoomLoaded(RoomId))
            {
                return(this.GetRoom(RoomId).RoomData);
            }
            DataRow dataRow = null;

            using (IQueryAdapter queryreactor = CyberEnvironment.GetDatabaseManager().getQueryReactor())
            {
                queryreactor.setQuery("SELECT * FROM rooms WHERE id = " + RoomId + " LIMIT 1");
                dataRow = queryreactor.getRow();
            }
            if (dataRow == null)
            {
                return(null);
            }
            roomData.Fill(dataRow);
            this.loadedRoomData.Add(RoomId, roomData);
            return(roomData);
        }
示例#3
0
        internal RoomData FetchRoomData(uint RoomId, DataRow dRow)
        {
            if (this.loadedRoomData.Contains(RoomId))
            {
                return((RoomData)this.loadedRoomData[RoomId]);
            }
            RoomData roomData = new RoomData();

            if (this.IsRoomLoaded(RoomId))
            {
                roomData.Fill(this.GetRoom(RoomId));
            }
            else
            {
                roomData.Fill(dRow);
            }
            this.loadedRoomData.Add(RoomId, roomData);
            return(roomData);
        }
示例#4
0
文件: RoomManager.cs 项目: sgf/Yupi
        /// <summary>
        ///     Fetches the room data.
        /// </summary>
        /// <param name="roomId">The room identifier.</param>
        /// <param name="dRow">The d row.</param>
        /// <returns>RoomData.</returns>
        internal RoomData FetchRoomData(uint roomId, DataRow dRow)
        {
            if (LoadedRoomData.ContainsKey(roomId))
            {
                LoadedRoomData[roomId].LastUsed = DateTime.Now;
                return(LoadedRoomData[roomId]);
            }
            RoomData roomData = new RoomData();

            roomData.Fill(dRow);
            LoadedRoomData.TryAdd(roomId, roomData);
            return(roomData);
        }
示例#5
0
 /// <summary>
 ///     Fetches the room data.
 /// </summary>
 /// <param name="roomId">The room identifier.</param>
 /// <param name="dRow">The d row.</param>
 /// <returns>RoomData.</returns>
 internal RoomData FetchRoomData(uint roomId, DataRow dRow)
 {
     if (LoadedRoomData.ContainsKey(roomId))
     {
         LoadedRoomData[roomId].LastUsed = DateTime.Now;
         return LoadedRoomData[roomId];
     }
     var roomData = new RoomData();
     roomData.Fill(dRow);
     LoadedRoomData.TryAdd(roomId, roomData);
     return roomData;
 }
示例#6
0
        /// <summary>
        ///     Generates the room data.
        /// </summary>
        /// <param name="roomId">The room identifier.</param>
        /// <returns>RoomData.</returns>
        internal RoomData GenerateRoomData(uint roomId)
        {
            if (LoadedRoomData.ContainsKey(roomId))
            {
                LoadedRoomData[roomId].LastUsed = DateTime.Now;
                return LoadedRoomData[roomId];
            }

            if (IsRoomLoaded(roomId))
                return GetRoom(roomId).RoomData;

            var roomData = new RoomData();
            using (var queryReactor = Azure.GetDatabaseManager().GetQueryReactor())
            {
                queryReactor.SetQuery($"SELECT * FROM rooms_data WHERE id = {roomId} LIMIT 1");

                var dataRow = queryReactor.GetRow();
                if (dataRow == null)
                    return null;

                roomData.Fill(dataRow);
                LoadedRoomData.TryAdd(roomId, roomData);
            }

            return roomData;
        }