Beispiel #1
0
        public bool TryGetEntry(TEquipmentType equipmentType, uint equipmentId, out EquipmentCraftEntryPrimitive entry)
        {
            if (Table.TryGetValue(equipmentType, out Dictionary <uint, EquipmentCraftEntryPrimitive> entries) == false)
            {
                entry = default;
                return(false);
            }

            return(entries.TryGetValue(equipmentId, out entry));
        }
Beispiel #2
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 = EquipmentCraftEntryPrimitive.Read(reader);

                Dictionary <uint, EquipmentCraftEntryPrimitive> storage = GetOrAddCraftEntriesStorage((TEquipmentType)Enum.ToObject(typeof(TEquipmentType), entry.EquipType));

                if (storage.ContainsKey(entry.EquipId) == false)
                {
                    storage.Add(entry.EquipId, entry);
                }
            }
        }