コード例 #1
0
        public override void ProcessChunkFile(Stream stream, string chunkFullFilename)
        {
            using var reader = new Reader(new BinaryReader(stream, Encoding.UTF8, true), chunkFullFilename);

            uint numEntries = ReadHeader(reader);

            for (uint i = 0; i < numEntries; i++)
            {
                var entry = EquipmentUpgradeEntryPrimitive.Read(reader);

                if (Table.TryGetValue(entry.EquipType, out Dictionary <uint, EquipmentUpgradeEntryPrimitive> perWeaponEntries) == false)
                {
                    perWeaponEntries = new Dictionary <uint, EquipmentUpgradeEntryPrimitive>();
                    Table.Add(entry.EquipType, perWeaponEntries);
                }

                if (perWeaponEntries.TryGetValue(entry.EquipId, out EquipmentUpgradeEntryPrimitive existingEntry) == false || HasDescendants(existingEntry) == false)
                {
                    perWeaponEntries[entry.EquipId] = entry;
                }
            }
        }
コード例 #2
0
 public static bool HasDescendants(EquipmentUpgradeEntryPrimitive entry)
 {
     return(entry.Descendant1Id > 0 || entry.Descendant2Id > 0 || entry.Descendant3Id > 0 || entry.Descendant4Id > 0);
 }