コード例 #1
0
ファイル: PacketSender.cs プロジェクト: habb0/IHI
        /// <summary>
        /// Send the initial messenger configuration and contents.
        /// </summary>
        /// <param name="A">Unsure</param>
        /// <param name="B">Unsure</param>
        /// <param name="C">Unsure</param>
        public void Send_MessengerInit(int A, int B, int C, Category[] Categories, Friend[] Friends, uint MaxFriends)
        {
            OutgoingMessage Message = new OutgoingMessage(12);

            Message.AppendInt32(A);     // Find out
            Message.AppendInt32(B);     // Find out
            Message.AppendInt32(C);     // Find out

            Message.AppendInt32(Categories.Length);

            for (int i = 0; i < Categories.Length; i++)
            {
                Message.AppendUInt32(Categories[i].GetID());
                Message.AppendString(Categories[i].GetName());
            }

            Message.AppendInt32(Friends.Length);

            for (int i = 0; i < Friends.Length; i++)
            {
                Message.AppendObject(Friends[i]);
            }

            Message.AppendUInt32(MaxFriends);
            Message.AppendBoolean(false);       // TODO: Find out
        }
コード例 #2
0
ファイル: Friend.cs プロジェクト: habb0/IHI
        public void Serialize(OutgoingMessage Message)
        {
            if (Message.ID != 12)
                Message.AppendBoolean(false);                       // TODO: Find out what this does

            Message.AppendUInt32(this.fUser.GetID());               // User ID
            Message.AppendString(this.fUser.GetUsername());         // Username

            Message.AppendBoolean(false);                           // Not sure what this does
            Message.AppendBoolean(this.fUser.IsLoggedIn());         // Logged In
            Message.AppendBoolean(this.fUser.GetRoom() != null);    // In Room
            Message.AppendString(this.fUser.GetFigure());           // Figure
            Message.AppendUInt32(this.fLocalCategory);              // Category ID

            if (this.fUser.IsLoggedIn())
            {
                Message.AppendString(this.fUser.GetMotto());        // Motto
                Message.AppendString("");                           // Last Access (N/A)
            }
            else
            {
                Message.AppendString("Offline");                                // Motto ("Offline" in this case)
                Message.AppendString(this.fUser.GetLastAccess().ToString());    // Last Access
            }
        }
コード例 #3
0
ファイル: PacketSender.cs プロジェクト: habb0/IHI
        /// <summary>
        /// Send data about a user.
        /// </summary>
        /// <param name="UserID">The user ID.</param>
        /// <param name="Username">The username.</param>
        /// <param name="Figure">The figure.</param>
        /// <param name="Gender">The gender.</param>
        /// <param name="Motto">The motto.</param>
        /// <param name="SwimFigure">The swim figure in string form.</param>
        public void Send_UserObject(uint UserID, string Username, string Figure, bool Gender, string Motto, string SwimFigure)
        {
            OutgoingMessage Message = new OutgoingMessage(5);

            Message.AppendUInt32(UserID);
            Message.AppendString(Username);
            Message.AppendString(Figure);
            Message.AppendString(Gender ? "M" : "F"); // True = Male, False = Female
            Message.AppendString(Motto);
            Message.AppendInt32(12);                  // TODO: Find out what this does.

            Message.Append(SwimFigure);
            Message.AppendBoolean(false);
            Message.AppendBoolean(true);

            this.fUser.GetConnection().SendMessage(Message);
        }
コード例 #4
0
ファイル: PacketSender.cs プロジェクト: habb0/IHI
        /// <summary>
        ///
        /// </summary>
        /// <param name="Categories">An array of all categories to show to the user.</param>
        /// <param name="Friends">An array of all friends to show to the user.</param>
        /// <param name="FriendUpdates">An array of all changes to the friends list to send to the user.</param>
        public void Send_FriendListUpdate(Category[] Categories, Friend[] Friends, FriendUpdate[] FriendUpdates)
        {
            OutgoingMessage Message = new OutgoingMessage(13);

            Message.AppendInt32(Categories.Length);

            for (int i = 0; i < Categories.Length; i++)
            {
                Message.AppendUInt32(Categories[i].GetID());
                Message.AppendString(Categories[i].GetName());
            }

            Message.AppendInt32(Friends.Length + FriendUpdates.Length);

            for (int i = 0; i < FriendUpdates.Length; i++)
            {
                Message.AppendObject(FriendUpdates[i]);
            }

            for (int i = 0; i < Friends.Length; i++)
            {
                Message.AppendObject(Friends[i]);
            }
        }
コード例 #5
0
ファイル: Category.cs プロジェクト: habb0/IHI
 public void Serialize(OutgoingMessage Message)
 {
     Message.AppendUInt32(this.fID);
     Message.AppendString(this.fName);
 }
コード例 #6
0
ファイル: Friend.cs プロジェクト: habb0/IHI
        internal byte[] GetRawUpdate()
        {
            OutgoingMessage Message = new OutgoingMessage();
            Message.AppendBoolean(true);                            // TODO: Find out what this does

            Message.AppendUInt32(this.fUser.GetID());               // User ID
            Message.AppendString(this.fUser.GetUsername());         // Username

            Message.AppendBoolean(true);                            // Not sure what this does
            Message.AppendBoolean(this.fUser.IsLoggedIn());         // Logged In
            Message.AppendBoolean(this.fUser.GetRoom() != null);    // In Room
            Message.AppendString(this.fUser.GetFigure());           // Figure
            Message.AppendUInt32(this.fLocalCategory);              // Category ID

            if (this.fUser.IsLoggedIn())
            {
                Message.AppendString(this.fUser.GetMotto());        // Motto
                Message.AppendString("");                           // Last Access (N/A)
            }
            else
            {
                Message.AppendString("Offline");                                // Motto ("Offline" in this case)
                Message.AppendString(this.fUser.GetLastAccess().ToString());    // Last Access
            }

            return Message.GetBytes();
        }
コード例 #7
0
ファイル: PacketSender.cs プロジェクト: habb0/IHI
        /// <summary>
        /// Send data about a user.
        /// </summary>
        /// <param name="UserID">The user ID.</param>
        /// <param name="Username">The username.</param>
        /// <param name="Figure">The figure.</param>
        /// <param name="Gender">The gender.</param>
        /// <param name="Motto">The motto.</param>
        /// <param name="SwimFigure">The swim figure in string form.</param>
        public void Send_UserObject(uint UserID, string Username, string Figure, bool Gender, string Motto, string SwimFigure)
        {
            OutgoingMessage Message = new OutgoingMessage(5);

            Message.AppendUInt32(UserID);
            Message.AppendString(Username);
            Message.AppendString(Figure);
            Message.AppendString(Gender ? "M" : "F"); // True = Male, False = Female
            Message.AppendString(Motto);
            Message.AppendInt32(12); // TODO: Find out what this does.

            Message.Append(SwimFigure);
            Message.AppendBoolean(false);
            Message.AppendBoolean(true);

            this.fUser.GetConnection().SendMessage(Message);
        }
コード例 #8
0
ファイル: PacketSender.cs プロジェクト: habb0/IHI
        /// <summary>
        /// Send the initial messenger configuration and contents.
        /// </summary>
        /// <param name="A">Unsure</param>
        /// <param name="B">Unsure</param>
        /// <param name="C">Unsure</param>
        public void Send_MessengerInit(int A, int B, int C, Category[] Categories, Friend[] Friends, uint MaxFriends)
        {
            OutgoingMessage Message = new OutgoingMessage(12);
            Message.AppendInt32(A);     // Find out
            Message.AppendInt32(B);     // Find out
            Message.AppendInt32(C);     // Find out

            Message.AppendInt32(Categories.Length);

            for (int i = 0; i < Categories.Length; i++)
            {
                Message.AppendUInt32(Categories[i].GetID());
                Message.AppendString(Categories[i].GetName());
            }

            Message.AppendInt32(Friends.Length);

            for (int i = 0; i < Friends.Length; i++)
            {
                Message.AppendObject(Friends[i]);
            }

            Message.AppendUInt32(MaxFriends);
            Message.AppendBoolean(false);       // TODO: Find out
        }
コード例 #9
0
ファイル: PacketSender.cs プロジェクト: habb0/IHI
        /// <summary>
        /// 
        /// </summary>
        /// <param name="Categories">An array of all categories to show to the user.</param>
        /// <param name="Friends">An array of all friends to show to the user.</param>
        /// <param name="FriendUpdates">An array of all changes to the friends list to send to the user.</param>
        public void Send_FriendListUpdate(Category[] Categories, Friend[] Friends, FriendUpdate[] FriendUpdates)
        {
            OutgoingMessage Message = new OutgoingMessage(13);
            Message.AppendInt32(Categories.Length);

            for (int i = 0; i < Categories.Length; i++)
            {
                Message.AppendUInt32(Categories[i].GetID());
                Message.AppendString(Categories[i].GetName());
            }

            Message.AppendInt32(Friends.Length + FriendUpdates.Length);

            for (int i = 0; i < FriendUpdates.Length; i++)
            {
                Message.AppendObject(FriendUpdates[i]);
            }

            for (int i = 0; i < Friends.Length; i++)
            {
                Message.AppendObject(Friends[i]);
            }
        }