Example #1
0
        public static T ReadDungeon <T>(this GenericReader reader) where T : Dungeon
        {
            if (reader.ReadBool())
            {
                return(FindDungeon(reader.ReadHashCode <DungeonSerial>()) as T);
            }

            return(null);
        }
Example #2
0
        public static T ReadInstanceRegion <T>(this GenericReader reader) where T : InstanceRegion
        {
            if (reader.ReadBool())
            {
                return(FindRegion(reader.ReadHashCode <InstanceRegionSerial>()) as T);
            }

            return(null);
        }
Example #3
0
        public static InstanceMap ReadInstanceMap(this GenericReader reader)
        {
            if (reader.ReadBool())
            {
                return(FindMap(reader.ReadHashCode <InstanceMapSerial>()));
            }

            return(null);
        }
Example #4
0
        private void DeserializeDefaults(GenericReader reader)
        {
            reader.GetVersion();

            Serial = reader.ReadHashCode <DungeonSerial>();

            Options.Deserialize(reader);

            Deleted   = reader.ReadBool();
            Generated = reader.ReadBool();

            Created = reader.ReadDateTime();

            Map = reader.ReadInstanceMap();

            reader.ReadBlockList(r => r.ReadInstanceRegion <DungeonZone>(), Zones);

            Zones.ForEach(
                z =>
            {
                z.Dungeon = this;

                if ((Map == null || Map.Deleted) && z.InstanceMap != null && !z.InstanceMap.Deleted)
                {
                    Map = z.InstanceMap;
                }
            });

            Group       = reader.ReadStrongMobileList <PlayerMobile>();
            ActiveGroup = reader.ReadStrongMobileList <PlayerMobile>();

            MobileSpawns = reader.ReadStrongMobileList();
            ItemSpawns   = reader.ReadStrongItemList();

            reader.ReadBlockList(r => r.ReadTypeCreate <DungeonLootEntry>(this, r), Loot);
        }
Example #5
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            #region Critical Non-Versioned Values

            Owner     = reader.ReadMobile <PlayerMobile>();
            Templates = new TemplateCollection(reader);
            Selected  = Templates.Find(reader.ReadHashCode <TemplateSerial>());

            #endregion

            switch (version)
            {
            case 0:
            {
                PackItems = reader.ReadBlockList(reader.ReadItem);
                Equipment = reader.ReadBlockList(reader.ReadItem);
            }
            break;
            }
        }