Пример #1
0
        public static BangHomeCityDeck Load(BangChunkReader <BangDataHeader> chunkReader)
        {
            BangHomeCityDeck bangHomeCityDeck = new BangHomeCityDeck();

            chunkReader.ReadExpectedTag(0x6B44);

            bangHomeCityDeck.Version = chunkReader.ReadUInt32();
            bangHomeCityDeck.ID      = chunkReader.ReadInt32();
            bangHomeCityDeck.Name    = chunkReader.ReadString();
            if (bangHomeCityDeck.Version > 2)
            {
                bangHomeCityDeck.GameID = chunkReader.ReadInt32();
            }

            if (bangHomeCityDeck.Version > 0)
            {
                bangHomeCityDeck.IsDefault = chunkReader.ReadBoolean();
            }

            int numOfUnkArray10 = chunkReader.ReadInt32();

            for (int i = 0; i < numOfUnkArray10; i++)
            {
                bangHomeCityDeck.TechIDs.Add(chunkReader.ReadInt32());
            }

            if (bangHomeCityDeck.Version > 1)
            {
                int numOfCards = chunkReader.ReadInt32();
                for (int i = 0; i < numOfCards; i++)
                {
                    bangHomeCityDeck.Cards.Add(BangHomeCityCard.Load(chunkReader));
                }
            }

            if (bangHomeCityDeck.Version > 3)
            {
                int numOfPreservedCards = chunkReader.ReadInt32();
                for (int i = 0; i < numOfPreservedCards; i++)
                {
                    bangHomeCityDeck.PreservedCards.Add(BangHomeCityPreservedCard.Load(chunkReader));
                }
            }


            return(bangHomeCityDeck);
        }
Пример #2
0
        public static BangHomeCityCard Load(BangChunkReader <BangDataHeader> chunkReader)
        {
            BangHomeCityCard bangHomeCityCard = new BangHomeCityCard();

            chunkReader.ReadExpectedTag(0x6463);

            bangHomeCityCard.Version  = chunkReader.ReadUInt32();
            bangHomeCityCard.TechID   = chunkReader.ReadInt32();
            bangHomeCityCard.MaxCount = chunkReader.ReadInt32();
            bangHomeCityCard.Tier     = chunkReader.ReadInt32();
            bangHomeCityCard.Level    = chunkReader.ReadInt32();

            if (bangHomeCityCard.Version > 3)
            {
                bangHomeCityCard.SPCAct = chunkReader.ReadInt32();
            }

            bangHomeCityCard.UnkDword1C   = chunkReader.ReadInt32();
            bangHomeCityCard.PreReqTechID = chunkReader.ReadInt32();
            bangHomeCityCard.UnkDword14   = chunkReader.ReadInt32();

            if (bangHomeCityCard.Version > 0)
            {
                bangHomeCityCard.DisplayUnitCount = chunkReader.ReadInt32();
            }

            if (bangHomeCityCard.Version > 1)
            {
                bangHomeCityCard.IsInfiniteInLastAge = chunkReader.ReadBoolean();
            }

            if (bangHomeCityCard.Version > 2)
            {
                bangHomeCityCard.IsRevolt = chunkReader.ReadBoolean();
            }

            return(bangHomeCityCard);
        }