using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; namespace Chop.Rooms { public class NavigatorRoom { public int mID; public string mName; public string mDescription; public string mPassword; public uint mOwnerID; public string mOwnerName; public RoomState mState; public int mCategory; public int mFloorID; public int mWallID; public string mModel; public bool mAllHaveRights; public bool mShowOwnerName; public string mShockwaveCasts; public byte mMinimumRank; public int mMaxVisitors; //public bool IsPublic { get { return !string.IsNullOrEmpty(mShockwaveCasts) && mOwner == 0; } } //public int ID { get { return mID; } } //public string Name { get { return mName; } } //public string Description { get { return mDescription; } } //public string Password { get { return mPassword; } } //public uint OwnerID { get { return mOwnerID; } } //public string OwnerName { get { return mOwnerName; } } //public RoomState State { get { return mState; } } //public int FloorID { get { return mFloorID; } } //public int WallID { get { return mWallID; } } //public string Model { get { return mModel; } } //public bool AllHaveRights { get { return mAllHaveRights; } } //public string ShockwaveCasts { get { return mShockwaveCasts; } } //public byte MinimumRank { get { return mMinimumRank; } } //public int Category { get { return mCategory; } } //public DateTime LastUsed; public virtual int Visitors { get { if (Core.RoomManager.ContainsRoom(mID)) return Core.RoomManager.GetRoom(mID).Visitors; else return 0; } } public int MaxVisitors { get { return mMaxVisitors; } } public static NavigatorRoom StaticParse(DataRow row) { NavigatorRoom room = new NavigatorRoom(); room.Parse(row); return room; } public void Parse(DataRow row) { mID = Convert.ToInt32(row["id"]); mName = row["name"].ToString(); mDescription = row["description"].ToString(); mPassword = row["password"].ToString(); mOwnerName = row["owner"].ToString(); // Public rooms don't have any owner, so no ID for owner mOwnerID = mOwnerName.Length > 0 ? Core.HabboManager.GetID(mOwnerName) : 0; mState = (RoomState)Convert.ToInt32(row["state"]); mCategory = Convert.ToInt32(row["category"]); mFloorID = Convert.ToInt32(row["floorid"]); mWallID = Convert.ToInt32(row["wallid"]); mModel = row["model"].ToString(); mShowOwnerName = Helper.ConvertToBool(row["showowner"]); mAllHaveRights = Helper.ConvertToBool(row["allrights"]); mShockwaveCasts = row["casts"].ToString(); mMinimumRank = Convert.ToByte(row["minrank"]); mMaxVisitors = Convert.ToInt32(row["maxvisitors"]); } //public string ToFuseString(CategoryType type) //{ // ResponseBuilder mResponse = new ResponseBuilder(); // mResponse.AppendInt32(mID); // if (type == CategoryType.Publics) // { // mResponse.AppendInt32(1); // mResponse.AppendString(mName); // mResponse.AppendInt32(Visitors); // mResponse.AppendInt32(mMaxVisitors); // mResponse.AppendInt32(mCategory); // mResponse.AppendString(mDescription); // mResponse.AppendInt32(mID); // mResponse.AppendInt32(0); // mResponse.AppendString(mShockwaveCasts); // mResponse.AppendInt32(0); // mResponse.AppendInt32(1); // } // else // Guestroom // { // mResponse.AppendString(mName); // mResponse.AppendString(mOwnerName); // mResponse.AppendString(mState); // mResponse.AppendInt32(Visitors); // mResponse.AppendInt32(mMaxVisitors); // mResponse.AppendString(mDescription); // } // return mResponse.ToString(); //} public NavigatorCategory GetCategory() { return Core.NavigatorManager.GetCategory(mCategory); } } }