예제 #1
0
 public override void Decode()
 {
     if (Client.CState == 1)
     {
         using (var reader = new CoCSharpPacketReader(new MemoryStream(GetData())))
         {
             UserID                       = reader.ReadInt64();
             UserToken                    = reader.ReadString();
             MajorVersion                 = reader.ReadInt32();
             ContentVersion               = reader.ReadInt32();
             MinorVersion                 = reader.ReadInt32();
             MasterHash                   = reader.ReadString();
             Unknown1                     = reader.ReadString();
             OpenUDID                     = reader.ReadString();
             MacAddress                   = reader.ReadString();
             DeviceModel                  = reader.ReadString();
             LocaleKey                    = reader.ReadInt32();
             Language                     = reader.ReadString();
             AdvertisingGUID              = reader.ReadString();
             OSVersion                    = reader.ReadString();
             Unknown2                     = reader.ReadByte();
             Unknown3                     = reader.ReadString();
             AndroidDeviceID              = reader.ReadString();
             FacebookDistributionID       = reader.ReadString();
             IsAdvertisingTrackingEnabled = reader.ReadBoolean();
             VendorGUID                   = reader.ReadString();
             Seed          = reader.ReadInt32();
             Unknown4      = reader.ReadByte();
             Unknown5      = reader.ReadString();
             Unknown6      = reader.ReadString();
             ClientVersion = reader.ReadString();
         }
     }
 }
예제 #2
0
 public FreeWorkerCommand(CoCSharpPacketReader br)
 {
     m_vTimeLeftSeconds   = br.ReadInt32WithEndian();
     m_vIsCommandEmbedded = br.ReadBoolean();
     if (m_vIsCommandEmbedded)
     {
         Depth++;
         if (Depth >= MaxEmbeddedDepth)
         {
             throw new ArgumentException(
                       "A command contained embedded command depth was greater than max embedded commands.");
         }
         m_vCommand = CommandFactory.Read(br);
     }
 }
예제 #3
0
        public BuyResourcesCommand(CoCSharpPacketReader br)
        {
            m_vResourceId        = br.ReadInt32WithEndian();
            m_vResourceCount     = br.ReadInt32WithEndian();
            m_vIsCommandEmbedded = br.ReadBoolean();
            if (m_vIsCommandEmbedded)
            {
                Depth++;

                if (Depth >= MaxEmbeddedDepth)
                {
                    throw new ArgumentException(
                              "A command contained embedded command depth was greater than max embedded commands.");
                }
                m_vCommand = CommandFactory.Read(br);
            }
            Unknown1 = br.ReadInt32WithEndian();
        }
예제 #4
0
 public override void Decode()
 {
     if (Client.CState == 1)
     {
         try
         {
             using (var reader = new CoCSharpPacketReader(new MemoryStream(GetData())))
             {
                 UserID                       = reader.ReadInt64();
                 UserToken                    = reader.ReadString();
                 MajorVersion                 = reader.ReadInt32();
                 ContentVersion               = reader.ReadInt32();
                 MinorVersion                 = reader.ReadInt32();
                 MasterHash                   = reader.ReadString();
                 Unknown1                     = reader.ReadString();
                 OpenUDID                     = reader.ReadString();
                 MacAddress                   = reader.ReadString();
                 DeviceModel                  = reader.ReadString();
                 LocaleKey                    = reader.ReadInt32();
                 Region                       = reader.ReadString();
                 AdvertisingGUID              = reader.ReadString();
                 OSVersion                    = reader.ReadString();
                 Unknown2                     = reader.ReadByte();
                 Unknown3                     = reader.ReadString();
                 AndroidDeviceID              = reader.ReadString();
                 FacebookDistributionID       = reader.ReadString();
                 IsAdvertisingTrackingEnabled = reader.ReadBoolean();
                 VendorGUID                   = reader.ReadString();
                 Seed          = reader.ReadInt32();
                 Unknown4      = reader.ReadByte();
                 Unknown5      = reader.ReadString();
                 Unknown6      = reader.ReadString();
                 ClientVersion = reader.ReadString();
             }
         }
         catch (Exception e)
         {
             //Debugger.WriteLine("[UCS]    Exception occured when reading packet", e);
             Client.CState = 0;
         }
     }
 }