示例#1
0
 public override void Decode()
 {
     using (var br = new BinaryReader(new MemoryStream(GetData())))
     {
         m_vAccountId = br.ReadInt64WithEndian();
         m_vPassToken = br.ReadScString();
         m_vClientMajorVersion = br.ReadInt32WithEndian();
         m_vClientContentVersion = br.ReadInt32WithEndian();
         m_vClientBuild = br.ReadInt32WithEndian();
         m_vResourceSha = br.ReadScString();
         m_vUDID = br.ReadScString();
         m_vOpenUDID = br.ReadScString();
         m_vMacAddress = br.ReadScString();
         m_vDevice = br.ReadScString();
         br.ReadInt32WithEndian();//00 1E 84 81, readDataReference for m_vPreferredLanguage
         m_vPreferredDeviceLanguage = br.ReadScString();
         //unchecked
         m_vPhoneId = br.ReadScString();
         m_vGameVersion = br.ReadScString();
         br.ReadByte();//01
         br.ReadInt32WithEndian();//00 00 00 00
         m_vSignature2 = br.ReadScString();
         m_vSignature3 = br.ReadScString();
         br.ReadByte();//01
         m_vSignature4 = br.ReadScString();
         m_vClientSeed = br.ReadUInt32WithEndian();
         Debugger.WriteLine("[M] Client with user id " + m_vAccountId + " accessing with " + m_vDevice);
         if(GetMessageVersion() >=7 )//7.200
         {
             br.ReadByte();
             br.ReadUInt32WithEndian();
             br.ReadUInt32WithEndian();
         }
     }
 }
 public NewShopItemsSeenCommand(BinaryReader br)
 {
     uint NewShopItemNumber = br.ReadUInt32WithEndian();
     uint Unknown1 = br.ReadUInt32WithEndian();
     uint Unknown2 = br.ReadUInt32WithEndian();
     uint Unknown3 = br.ReadUInt32WithEndian();
 }
 public ToggleAttackModeCommand(BinaryReader br)
 {
     BuildingId = br.ReadUInt32WithEndian(); //buildingId - 0x1DCD6500;
     Unknown1 = br.ReadByte();
     Unknown2 = br.ReadUInt32WithEndian();
     Unknown3 = br.ReadUInt32WithEndian();
 }
 public UpgradeUnitCommand(BinaryReader br)
 {
     BuildingId = br.ReadInt32WithEndian(); //buildingId - 0x1DCD6500;
     Unknown1 = br.ReadUInt32WithEndian();
     UnitData = (CombatItemData)br.ReadDataReference();//.ReadInt32WithEndian();
     Unknown2 = br.ReadUInt32WithEndian();
 }
 public DonateAllianceUnitCommand(BinaryReader br)
 {
     Unknown1 = br.ReadUInt32WithEndian();
     PlayerId = br.ReadUInt32WithEndian();
     UnitType = br.ReadUInt32WithEndian();
     Unknown2 = br.ReadUInt32WithEndian();
     Unknown3 = br.ReadUInt32WithEndian();
 }
 public TrainUnitCommand(BinaryReader br)
 {
     BuildingId = br.ReadInt32WithEndian(); //buildingId - 0x1DCD6500;
     Unknown1 = br.ReadUInt32WithEndian();
     UnitType = br.ReadInt32WithEndian();
     Count = br.ReadInt32WithEndian();
     Unknown3 = br.ReadUInt32WithEndian();
 }
 public CancelUnitProductionCommand(BinaryReader br)
 {
     BuildingId = br.ReadInt32WithEndian(); //buildingId - 0x1DCD6500;
     Unknown1 = br.ReadUInt32WithEndian();
     UnitType = br.ReadInt32WithEndian();
     Count = br.ReadInt32WithEndian();
     Unknown3 = br.ReadUInt32WithEndian();
     Unknown4 = br.ReadUInt32WithEndian();
 }
示例#8
0
        public override void Decode()
        {
            using (var br = new BinaryReader(new MemoryStream(GetData())))
            {
                Subtick = br.ReadUInt32WithEndian();
                Checksum = br.ReadUInt32WithEndian();
                NumberOfCommands = br.ReadUInt32WithEndian();

                if (NumberOfCommands > 0)
                {
                    NestedCommands = br.ReadBytes(GetLength());
                }
            }
        }
        public override void Decode()
        {
            using (var br = new BinaryReader(new MemoryStream(GetData())))
            {
                //Console.WriteLine(base.ToHexString());
                Unknown1 = br.ReadUInt32WithEndian();
                Unknown2 = br.ReadUInt32WithEndian();
                NumberOfCommands = br.ReadUInt32WithEndian();

                if (NumberOfCommands > 0)
                {
                    m_vCommands = br.ReadBytes(GetLength() - 12);
                }
            }
        }
        public RemoveUnitsCommand(BinaryReader br)
        {
            Unknown1 = br.ReadUInt32WithEndian();
            UnitTypesCount = br.ReadInt32WithEndian();

            UnitsToRemove = new List<UnitToRemove>();
            for (int i = 0; i < UnitTypesCount; i++)
            {
                CharacterData unit = (CharacterData)br.ReadDataReference();
                int count = br.ReadInt32WithEndian();
                int level = br.ReadInt32WithEndian();
                UnitsToRemove.Add(new UnitToRemove() { Data = unit, Count = count, Level = level });
            }

            Unknown2 = br.ReadUInt32WithEndian();
        }
 public BuyBuildingCommand(BinaryReader br)
 {
     X = br.ReadInt32WithEndian();
     Y = br.ReadInt32WithEndian();
     BuildingId = br.ReadInt32WithEndian();
     Unknown1 = br.ReadUInt32WithEndian();
 }
 public CastSpellCommand(BinaryReader br)
 {
     X = br.ReadInt32WithEndian();
     Y = br.ReadInt32WithEndian();
     Spell = (SpellData)br.ReadDataReference();
     Unknown1 = br.ReadUInt32WithEndian();
 }
 public BuyDecoCommand(BinaryReader br)
 {
     X = br.ReadInt32WithEndian();
     Y = br.ReadInt32WithEndian();
     DecoId = br.ReadInt32WithEndian();
     Unknown1 = br.ReadUInt32WithEndian();
 }
 public MoveBuildingCommand(BinaryReader br)
 {
     X = br.ReadInt32WithEndian();
     Y = br.ReadInt32WithEndian();
     BuildingId = br.ReadInt32WithEndian(); //buildingId - 0x1DCD6500;
     Unknown1 = br.ReadUInt32WithEndian();
 }
 public PlaceAttackerCommand(BinaryReader br)
 {
     X = br.ReadInt32WithEndian();
     Y = br.ReadInt32WithEndian();
     Unit = (CharacterData)br.ReadDataReference();
     Unknown1 = br.ReadUInt32WithEndian();
 }
 public BuyTrapCommand(BinaryReader br)
 {
     X = br.ReadInt32WithEndian();
     Y = br.ReadInt32WithEndian();
     TrapId = br.ReadInt32WithEndian();
     Unknown1 = br.ReadUInt32WithEndian();
 }
示例#17
0
 public static object Read(BinaryReader br)
 {
     var cm = br.ReadUInt32WithEndian();
     if (m_vCommands.ContainsKey(cm))
         return Activator.CreateInstance(m_vCommands[cm], br);
     Console.WriteLine("\t The command '" + cm + "' has been ignored");
     return null;
 }
 public RequestAllianceUnitsCommand(BinaryReader br)
 {
     Unknown1 = br.ReadUInt32WithEndian();
     FlagHasRequestMessage = br.ReadByte();
     if (FlagHasRequestMessage == 0x01)
     {
         Message = br.ReadScString();
     }
 }
 public static object Read(BinaryReader br)
 {
     uint cm = br.ReadUInt32WithEndian();
     if (m_vCommands.ContainsKey(cm))
     {
         return Activator.CreateInstance(m_vCommands[cm], br);
     }
     else
     {
         Console.WriteLine("Unhandled command " + cm.ToString() + ". Ignored.");
         return null;
     }
 }
示例#20
0
 public static object Read(BinaryReader br)
 {
     uint cm = br.ReadUInt32WithEndian();
     if (m_vCommands.ContainsKey(cm))
     {
         return Activator.CreateInstance(m_vCommands[cm], br);
     }
     else
     {
         Console.Write("\t");
         Console.ForegroundColor = ConsoleColor.Red;
         Console.WriteLine("Unhandled Command " + cm.ToString() + " (ignored)");
         Console.ResetColor();
         return null;
     }
 }
示例#21
0
 public CollectResourcesCommand(BinaryReader br)
 {
     BuildingId = br.ReadInt32WithEndian(); //buildingId - 0x1DCD6500;
     Unknown1 = br.ReadUInt32WithEndian();
 }
 public UpgradeHeroCommand(BinaryReader br)
 {
     BuildingId = br.ReadInt32WithEndian();
     Unknown1 = br.ReadUInt32WithEndian();
 }
 public ClearObstacleCommand(BinaryReader br)
 {
     ObstacleId = br.ReadUInt32WithEndian(); //ObstacleId - 0x1DFB2BC0;
     Unknown1 = br.ReadUInt32WithEndian();
 }
 public MissionProgressCommand(BinaryReader br)
 {
     MissionId = br.ReadUInt32WithEndian(); //missionId - 0x1406F40;
     Unknown1 = br.ReadUInt32WithEndian();
 }
 public CancelConstructionCommand(BinaryReader br)
 {
     BuildingId = br.ReadInt32WithEndian(); //buildingId - 0x1DCD6500;
     Unknown1 = br.ReadUInt32WithEndian();
 }
 public SellBuildingCommand(BinaryReader br)
 {
     m_vBuildingId = br.ReadInt32WithEndian();
     br.ReadUInt32WithEndian();
 }
 public CancelUpgradeUnitCommand(BinaryReader br)
 {
     BuildingId = br.ReadUInt32WithEndian(); //buildingId - 0x1DCD6500;
     Unknown1 = br.ReadUInt32WithEndian();
 }
 public ToggleHeroSleepCommand(BinaryReader br)
 {
     BuildingId = br.ReadUInt32WithEndian(); //buildingId - 0x1DCD6500;
     FlagSleep = br.ReadByte();
     Unknown1 = br.ReadUInt32WithEndian();
 }
示例#29
0
 public ClaimAchievementRewardCommand(BinaryReader br)
 {
     AchievementId = br.ReadInt32WithEndian();//= achievementId - 0x015EF3C0;
     Unknown1 = br.ReadUInt32WithEndian();
 }
 public Unknown539Command(BinaryReader br)
 {
     Unknown1 = br.ReadUInt32WithEndian();
     Unknown2 = br.ReadUInt32WithEndian();
 }