Beispiel #1
0
        public void ReadPacket(PacketReader reader)
        {
            ClanWarStage    = reader.ReadInt32();
            TimeLeftSeconds = reader.ReadInt32();
            Home            = new Clan();
            Enemy           = new Clan();
            Home.Read(reader);
            Enemy.Read(reader);

            Unknown1      = reader.ReadInt32();
            Unknown2      = reader.ReadInt32();
            WarEventCount = reader.ReadInt32();
            WarEvents     = new List <WarEventEntry>();
            for (int i = 0; i < WarEventCount; i++)
            {
                var entry = new WarEventEntry();
                entry.Unknown1        = reader.ReadInt32();
                entry.Unknown2        = reader.ReadInt32();
                entry.ReplayID        = reader.ReadInt32();
                entry.TimeLeftSeconds = reader.ReadInt32();
                entry.AttackerClanID  = reader.ReadInt64();
                entry.AttackerID      = reader.ReadInt64();
                entry.DefenderClanID  = reader.ReadInt64();
                entry.DefenderID      = reader.ReadInt64();
                entry.AttackerName    = reader.ReadString();
                entry.DefenderName    = reader.ReadString();
                entry.StarsWon        = reader.ReadInt32();
                entry.StarsEarned     = reader.ReadInt32();
                entry.Damage          = reader.ReadInt32();

                entry.Unknown3  = reader.ReadInt32();
                entry.Unknown4  = reader.ReadInt32();
                entry.Unknown5  = reader.ReadInt32();
                entry.Unknown6  = reader.ReadInt32();
                entry.Unknown7  = reader.ReadByte();
                entry.Unknown8  = reader.ReadInt32();
                entry.Unknown9  = reader.ReadInt32();
                entry.Unknown10 = reader.ReadInt32();
                entry.Unknown11 = reader.ReadInt32();
                WarEvents.Add(entry);
            }
        }
        public void ReadPacket(PacketReader reader)
        {
            ClanWarStage = reader.ReadInt32();
            TimeLeftSeconds = reader.ReadInt32();
            Home = new Clan();
            Enemy = new Clan();
            Home.Read(reader);
            Enemy.Read(reader);

            Unknown1 = reader.ReadInt32();
            Unknown2 = reader.ReadInt32();
            WarEventCount = reader.ReadInt32();
            WarEvents = new List<WarEventEntry>();
            for (int i = 0; i < WarEventCount; i++)
            {
                var entry = new WarEventEntry();
                entry.Unknown1 = reader.ReadInt32();
                entry.Unknown2 = reader.ReadInt32();
                entry.ReplayID = reader.ReadInt32();
                entry.TimeLeftSeconds = reader.ReadInt32();
                entry.AttackerClanID = reader.ReadInt64();
                entry.AttackerID = reader.ReadInt64();
                entry.DefenderClanID = reader.ReadInt64();
                entry.DefenderID = reader.ReadInt64();
                entry.AttackerName = reader.ReadString();
                entry.DefenderName = reader.ReadString();
                entry.StarsWon = reader.ReadInt32();
                entry.StarsEarned = reader.ReadInt32();
                entry.Damage = reader.ReadInt32();

                entry.Unknown3 = reader.ReadInt32();
                entry.Unknown4 = reader.ReadInt32();
                entry.Unknown5 = reader.ReadInt32();
                entry.Unknown6 = reader.ReadInt32();
                entry.Unknown7 = reader.ReadByte();
                entry.Unknown8 = reader.ReadInt32();
                entry.Unknown9 = reader.ReadInt32();
                entry.Unknown10 = reader.ReadInt32();
                entry.Unknown11 = reader.ReadInt32();
                WarEvents.Add(entry);
            }
        }
        public override void Decode()
        {
            base.Decode();

            this.m_warState = this.m_stream.ReadInt();
            this.m_warStateRemainingSeconds = this.m_stream.ReadInt();
            this.m_ownAllianceWarEntry      = new AllianceWarEntry();
            this.m_ownAllianceWarEntry.Decode(this.m_stream);

            if (this.m_stream.ReadBoolean())
            {
                this.m_enemyAllianceWarEntry = new AllianceWarEntry();
                this.m_enemyAllianceWarEntry.Decode(this.m_stream);
            }

            if (this.m_stream.ReadBoolean())
            {
                this.m_warId = this.m_stream.ReadLong();
            }

            this.m_stream.ReadInt();

            int count = this.m_stream.ReadInt();

            if (count >= 0)
            {
                this.m_warEventEntryList = new LogicArrayList <WarEventEntry>(count);

                for (int i = count - 1; i >= 0; i--)
                {
                    WarEventEntry warEventEntry = WarEventEntryFactory.CreateWarEventEntryByType(this.m_stream.ReadInt());
                    warEventEntry.Decode(this.m_stream);
                    this.m_warEventEntryList.Add(warEventEntry);
                }
            }
        }