Пример #1
0
 public override void Deserialize(byte[] data, Pointer p, bool includeComponents)
 {
     Properties = BitPacker.GetPropertyBag(data, p);
     Stats      = BitPacker.GetStatBag(data, p);
     ID         = BitPacker.GetInt(data, p);
     base.Deserialize(data, p, includeComponents);
 }
Пример #2
0
        public override bool DeSerialize(byte[] data, Pointer p)
        {
            base.DeSerialize(data, p);
            TextMessage = BitPacker.GetString(data, p);
            Parms       = BitPacker.GetPropertyBag(data, p);

            return(true);
        }
Пример #3
0
        public void Deserialize(byte[] data, Pointer p)
        {
            LastLogin          = new DateTime(BitPacker.GetLong(data, p), DateTimeKind.Utc);
            UserSince          = new DateTime(BitPacker.GetLong(data, p), DateTimeKind.Utc);
            LastPasswordChange = new DateTime(BitPacker.GetLong(data, p), DateTimeKind.Utc);

            ID = new Guid(BitPacker.GetString(data, p));

            Email    = BitPacker.GetString(data, p);
            Username = BitPacker.GetString(data, p);

            IsLocked   = BitPacker.GetBool(data, p);
            IsOnline   = BitPacker.GetBool(data, p);
            IsApproved = BitPacker.GetBool(data, p);

            Roles = BitPacker.GetStringList(data, p);

            int notes = BitPacker.GetInt(data, p);

            for (int i = 0; i < notes; i++)
            {
                ServiceLogEntry sle = new ServiceLogEntry();
                sle.Account      = ID;
                sle.EntryBy      = BitPacker.GetString(data, p);
                sle.Note         = BitPacker.GetString(data, p);
                sle.EntryType    = BitPacker.GetString(data, p);
                sle.CharacterId  = BitPacker.GetInt(data, p);
                sle.TimeStampUTC = new DateTime(BitPacker.GetLong(data, p), DateTimeKind.Utc);
                ServiceNotes.Add(sle);
            }

            AddedProperties = BitPacker.GetPropertyBag(data, p);

            int numSessions = BitPacker.GetInt(data, p);

            for (int i = 0; i < numSessions; i++)
            {
                DateTime login  = new DateTime(BitPacker.GetLong(data, p), DateTimeKind.Utc);
                DateTime logout = new DateTime(BitPacker.GetLong(data, p), DateTimeKind.Utc);
                string   ip     = BitPacker.GetString(data, p);
                ip = ip.Substring(0, ip.LastIndexOf("]") + 1);
                AccountProfile.Session s = new AccountProfile.Session(login, logout, ip);
                LoginSessions.Add(s);
            }

            //LoginSessions = LoginSessions.OrderBy(session => session.LogoutUTC).ToList();
            LoginSessions.Reverse();
            CurrentLoginTime = new DateTime(BitPacker.GetLong(data, p), DateTimeKind.Utc);

            int characters = BitPacker.GetInt(data, p);

            for (int i = 0; i < characters; i++)
            {
                ICharacterInfo ci = BitPacker.GetComponent(data, p) as ICharacterInfo;
                Characters.Add(ci);
            }
        }
Пример #4
0
 public override bool DeSerialize(byte[] data, Pointer p)
 {
     base.DeSerialize(data, p);
     LoginConnectionType = (ConnectionType)BitPacker.GetInt(data, p);
     m_AccountName       = BitPacker.GetString(data, p); // System.Text.Encoding.UTF8.GetString(data, 4, userLen);
     m_Password          = BitPacker.GetString(data, p); // System.Text.Encoding.UTF8.GetString(data, 8 + userLen, passLen);
     IsNewAccount        = BitPacker.GetBool(data, p);
     Parms = BitPacker.GetPropertyBag(data, p);
     return(true);
 }
Пример #5
0
        public override bool DeSerialize(byte[] data, Pointer p)
        {
            base.DeSerialize(data, p);

            ReplyCode          = (ReplyType)BitPacker.GetInt(data, p);
            ReplyPacketID      = BitPacker.GetInt(data, p);
            ReplyMessage       = BitPacker.GetString(data, p);
            ReplyPacketType    = BitPacker.GetInt(data, p);
            ReplyPacketSubType = BitPacker.GetInt(data, p);

            bool hasProps = BitPacker.GetBool(data, p);

            if (hasProps)
            {
                Parms = BitPacker.GetPropertyBag(data, p);
            }
            return(true);
        }
Пример #6
0
        public override void Deserialize(byte[] data, Pointer p, bool includeSubComponents)
        {
            // General match info
            Owner  = BitPacker.GetInt(data, p);
            GameID = new Guid(BitPacker.GetString(data, p));

            // Options
            Properties = BitPacker.GetPropertyBag(data, p);

            // Players
            int numPlayers = BitPacker.GetInt(data, p);

            for (int i = 0; i < numPlayers; i++)
            {
                CharacterInfo ci = new CharacterInfo();
                ci.Properties = BitPacker.GetPropertyBag(data, p);
                ci.Stats      = BitPacker.GetStatBag(data, p);
                ci.ID         = BitPacker.GetInt(data, p);
                Players.Add(ci.ID, ci);
            }

            base.Deserialize(data, p, includeSubComponents);
        }