Exemplo n.º 1
0
 internal void Process_SSOTicket(IncomingMessage Message)
 {
     Core.GetUserDistributor().GetUser(Message.PopPrefixedString(), this.fUser.GetConnection().ipAddress);
 }
Exemplo n.º 2
0
        private void HandleConnectionData(ref byte[] data)
        {
            int pos = 0;
            while (pos < data.Length)
            {
                try
                {
                    // Total length of message (without this): 3 Base64 bytes
                    int messageLength = Base64Encoding.DecodeInt32(new byte[] { data[pos++], data[pos++], data[pos++] });

                    // ID of message: 2 Base64 bytes
                    uint messageID = Base64Encoding.DecodeUInt32(new byte[] { data[pos++], data[pos++] });

                    // Data of message: (messageLength - 2) bytes
                    byte[] Content = new byte[messageLength - 2];
                    for (int i = 0; i < Content.Length; i++)
                    {
                        Content[i] = data[pos++];
                    }

                    // Create message object
                    IncomingMessage message = new IncomingMessage(messageID, Content);

                    if(this.mUser.IsLoggedIn())
                        Core.GetStandardOut().PrintDebug("[" + this.mUser.GetUsername() + "] -- > " + message.Header + message.GetContentString());
                    else
                        Core.GetStandardOut().PrintDebug("[No Name] -> " + message.Header + message.GetContentString());

                    // Handle message object
                    this.mPacketHandlers[messageID, 3].Invoke(message); // Execute High Priority

                    if (message.IsCancelled())
                        return;

                    this.mPacketHandlers[messageID, 2].Invoke(message); // Execute Low Priority

                    if (message.IsCancelled())
                        return;

                    this.mPacketHandlers[messageID, 1].Invoke(message); // Execute Default Action
                    this.mPacketHandlers[messageID, 0].Invoke(message); // Execute Watchers
                }
                catch (IndexOutOfRangeException) // Bad formatting!
                {
                    // TODO: Move this to IHI
                    //IonEnvironment.GetHabboHotel().GetClients().StopClient(mID, 0);
                }
                catch (Exception ex)
                {
                    Core.GetStandardOut().PrintError(ex.Message);
                }
            }
        }
Exemplo n.º 3
0
 internal void Process_Pong(IncomingMessage Message)
 {
     this.fUser.Pong();
 }
Exemplo n.º 4
0
 internal void Process_InitCrypto(IncomingMessage Message)
 {
     this.fUser.GetPacketSender().Send_InitCrypto("166deece3b76b25aa9d5078522c7eb0a", false);
 }
Exemplo n.º 5
0
 internal void Process_SSOTicket(IncomingMessage Message)
 {
     Core.GetUserDistributor().GetUser(Message.PopPrefixedString(), this.fUser.GetConnection().ipAddress);
 }
Exemplo n.º 6
0
 internal void Process_InitCrypto(IncomingMessage Message)
 {
     this.fUser.GetPacketSender().Send_InitCrypto("166deece3b76b25aa9d5078522c7eb0a", false);
 }
Exemplo n.º 7
0
 internal void Process_Pong(IncomingMessage Message)
 {
     this.fUser.Pong();
 }