Пример #1
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.GetVersion();

            switch (version)
            {
            case 1:
            {
                SpectateGate = new MapPoint(reader);
            }
                goto case 0;

            case 0:
            {
                Map            = reader.ReadMap();
                BattlePriority = reader.ReadInt();
                Eject          = new MapPoint(reader);
                SpectateJoin   = reader.ReadPoint3D();
                BattleBounds   = reader.ReadBlockList(reader.ReadRect3D);
                SpectateBounds = reader.ReadBlockList(reader.ReadRect3D);
            }
            break;
            }
        }
Пример #2
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.GetVersion();

            switch (version)
            {
            case 2:
            {
                NotifyPlayer = reader.ReadBool();
            }
                goto case 1;

            case 1:
            {
                SearchMode       = reader.ReadFlag <StringSearchFlags>();
                SearchCapsIgnore = reader.ReadBool();
            }
                goto case 0;

            case 0:
            {
                if (version < 1)
                {
                    SearchMode       = StringSearchFlags.Contains;
                    SearchCapsIgnore = true;
                }

                WhitespaceAliases = reader.ReadBlockList(reader.ReadChar);
                KeyWords          = reader.ReadBlockList(reader.ReadString);

                LogEnabled   = reader.ReadBool();
                ConsoleWrite = reader.ReadBool();

                PageStaff = reader.ReadBool();

                NotifyStaff  = reader.ReadBool();
                NotifyAccess = reader.ReadFlag <AccessLevel>();

                Jail      = reader.ReadBool();
                JailPoint = new MapPoint(reader);

                Squelch = reader.ReadBool();
                Kick    = reader.ReadBool();
                Ban     = reader.ReadBool();
            }
            break;
            }
        }
Пример #3
0
        public void Deserialize(GenericReader reader)
        {
            var version = reader.ReadInt();

            Deleted = reader.ReadBool();
            Owner   = reader.ReadMobile <PlayerMobile>();

            switch (version)
            {
            case 0:
            {
                _Points = reader.ReadLong();

                History = reader.ReadBlock(r => r.ReadTypeCreate <PvPProfileHistory>(this, r)) ?? new PvPProfileHistory(this);

                Subscriptions = reader.ReadBlockList(
                    r =>
                    {
                        var serial = r.ReadTypeCreate <PvPSerial>(r) ?? new PvPSerial(r);

                        return(AutoPvP.FindBattleByID(serial));
                    },
                    Subscriptions);
            }
            break;
            }
        }
Пример #4
0
        public virtual void Deserialize(GenericReader reader)
        {
            var version = reader.GetVersion();

            switch (version)
            {
            case 0:
            {
                _Enabled = reader.ReadBool();

                Statistics.Deserialize(reader);

                _Sessions = reader.ReadBlockList(
                    r =>
                    {
                        var e = EnsureSession(r.ReadMobile());

                        e.Deserialize(r);

                        return(e);
                    },
                    _Sessions);
            }
            break;
            }
        }
Пример #5
0
        public void Deserialize(GenericReader reader)
        {
            int version = reader.GetVersion();

            switch (version)
            {
            case 0:
            {
                Owner   = reader.ReadMobile <PlayerMobile>();
                Deleted = reader.ReadBool();

                if (!Deleted)
                {
                    History = reader.ReadBlockDictionary(
                        () =>
                        {
                            TimeStamp k = reader.ReadDouble();
                            var v       = reader.ReadBlockList(() => new TrashProfileEntry(reader));
                            return(new KeyValuePair <TimeStamp, List <TrashProfileEntry> >(k, v));
                        });
                }
            }
            break;
            }
        }
Пример #6
0
        private static bool DeserializeProfiles(GenericReader reader)
        {
            var list = reader.ReadBlockList(r => new TrashProfile(r));

            list.ForEach(p => Profiles.AddOrReplace(p.Owner, p));
            list.Free(true);

            return(true);
        }
Пример #7
0
        private static bool DeserializeHandlers(GenericReader reader)
        {
            var list = reader.ReadBlockList(r => r.ReadTypeCreate <BaseTrashHandler>(r));

            list.ForEach(h => Handlers.AddOrReplace(h.UID, h));
            list.Free(true);

            InternalHandlerSort();
            return(true);
        }
Пример #8
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                Owner = reader.ReadMobile <PlayerMobile>();

                Titles = reader.ReadBlockList(CustomTitles.ReadTitle);
                Hues   = reader.ReadBlockList(CustomTitles.ReadTitleHue);

                SelectedTitle = CustomTitles.ReadTitle(reader);
                SelectedHue   = CustomTitles.ReadTitleHue(reader);
            }
            break;
            }
        }
Пример #9
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
                Entries = reader.ReadBlockList(() => new Template(reader));
                break;
            }
        }
Пример #10
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);
        }
Пример #11
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;
            }
        }
Пример #12
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            Owner = reader.ReadMobile <PlayerMobile>();

            switch (version)
            {
            case 0:
            {
                Credit = reader.ReadLong();

                Registry = reader.ReadBlockList(() => new ConquestState(reader));
            }
            break;
            }

            Sync();
        }
Пример #13
0
        private static void DeserializeChannels(GenericReader reader)
        {
            reader.GetVersion();

            int idx = 0;

            reader.ReadBlockArray(
                r =>
            {
                var c = _PermaChannels[idx++];

                if (c != null)
                {
                    c.Deserialize(r);
                }

                return(c);
            },
                _PermaChannels);

            reader.ReadBlockList(r => r.ReadTypeCreate <WorldChatChannel>(r), _Channels);
        }
Пример #14
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            var v = reader.GetVersion();

            if (v > 0)
            {
                MatchSuddenDeath = reader.ReadDouble();
            }
            else
            {
                MatchSuddenDeath = 0.25;
            }

            MatchDelay    = reader.ReadTimeSpan();
            MatchDuration = reader.ReadTimeSpan();

            FinalBestOfCur = reader.ReadInt();
            FinalBestOfMax = reader.ReadInt();

            Matches = reader.ReadBlockList(r => new TournamentMatch(r), Matches);
        }
Пример #15
0
        public virtual void Deserialize(GenericReader reader)
        {
            var version = reader.GetVersion();

            if (version > 5)
            {
                reader.ReadBlock(
                    r =>
                {
                    if (version > 6)
                    {
                        Serial = new PvPSerial(r);
                    }
                    else
                    {
                        Serial = r.ReadTypeCreate <PvPSerial>(r) ?? new PvPSerial(r);
                    }
                });
            }

            switch (version)
            {
            case 7:
            case 6:
            case 5:
                Hidden = reader.ReadBool();
                goto case 4;

            case 4:
                _FloorItemDelete = reader.ReadBool();
                goto case 3;

            case 3:
            case 2:
            {
                Gate = reader.ReadItem <PvPSpectatorGate>();

                if (Gate != null)
                {
                    Gate.Battle = this;
                }
            }
                goto case 1;

            case 1:
            {
                Category           = reader.ReadString();
                Ranked             = reader.ReadBool();
                InviteWhileRunning = reader.ReadBool();
            }
                goto case 0;

            case 0:
            {
                if (version < 6)
                {
                    reader.ReadBlock(r => Serial = r.ReadTypeCreate <PvPSerial>(r) ?? new PvPSerial(r));
                }

                DebugMode         = reader.ReadBool();
                _State            = reader.ReadFlag <PvPBattleState>();
                _Name             = reader.ReadString();
                Description       = reader.ReadString();
                AutoAssign        = reader.ReadBool();
                UseTeamColors     = reader.ReadBool();
                IgnoreCapacity    = reader.ReadBool();
                _SubCommandPrefix = reader.ReadChar();
                QueueAllowed      = reader.ReadBool();
                SpectateAllowed   = reader.ReadBool();
                KillPoints        = version < 3 ? (reader.ReadBool() ? 1 : 0) : reader.ReadInt();
                PointsBase        = reader.ReadInt();
                PointsRankFactor  = reader.ReadDouble();
                IdleKick          = reader.ReadBool();
                IdleThreshold     = reader.ReadTimeSpan();
                LastState         = reader.ReadFlag <PvPBattleState>();
                LastStateChange   = reader.ReadDateTime();
                _LightLevel       = reader.ReadInt();
                LogoutDelay       = reader.ReadTimeSpan();

                Doors.AddRange(reader.ReadStrongItemList <BaseDoor>());

                reader.ReadBlock(r => Options = r.ReadTypeCreate <PvPBattleOptions>(r) ?? new PvPBattleOptions());

                if (Schedule != null && Schedule.Running)
                {
                    Schedule.Stop();
                }

                reader.ReadBlock(r => Schedule = r.ReadTypeCreate <Schedule>(r) ?? new Schedule("Battle " + Serial.Value, false));

                reader.ReadBlock(r => _BattleRegion = r.ReadTypeCreate <PvPBattleRegion>(this, r) ?? new PvPBattleRegion(this));
                reader.ReadBlock(
                    r => _SpectateRegion = r.ReadTypeCreate <PvPSpectateRegion>(this, r) ?? new PvPSpectateRegion(this));

                reader.ReadBlockList(r => r.ReadTypeCreate <PvPTeam>(this, r) ?? new PvPTeam(this), Teams);
            }
            break;
            }
        }
Пример #16
0
        private static void DeserializeReports(GenericReader reader)
        {
            reader.GetVersion();

            reader.ReadBlockList(() => new AntiAdvertsReport(reader), Reports);
        }
Пример #17
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.GetVersion();

            UID = new ConquestSerial(reader);

            switch (version)
            {
            case 4:
                AccountWide = reader.ReadBool();
                goto case 3;

            case 3:
                RewardTierComplete = reader.ReadBool();
                goto case 2;

            case 2:
                ItemIDOffset = reader.ReadPoint2D();
                goto case 1;

            case 1:
                AccountBound = reader.ReadBool();
                goto case 0;

            case 0:
            {
                Deleted  = reader.ReadBool();
                _Enabled = reader.ReadBool();

                TimeoutReset = reader.ReadTimeSpan();

                Secret       = reader.ReadBool();
                Young        = reader.ReadBool();
                ScaleRewards = reader.ReadBool();

                Points = reader.ReadInt();

                Name = reader.ReadString();
                Desc = reader.ReadString();

                Category = reader.ReadString();

                ItemID = reader.ReadInt();
                Hue    = reader.ReadInt();
                Color  = reader.ReadFlag <KnownColor>();

                TierMax        = reader.ReadInt();
                ProgressMax    = reader.ReadInt();
                ProgressFactor = reader.ReadDouble();

                SoundOnProgress   = reader.ReadInt();
                SoundOnComplete   = reader.ReadInt();
                SoundOnWorldFirst = reader.ReadInt();

                Rewards = reader.ReadBlockList(reader.ReadType);
            }
            break;
            }
        }
Пример #18
0
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			int version = reader.ReadInt();

			switch (version)
			{
				case 0:
					{
						Owner = reader.ReadMobile<PlayerMobile>();

						Titles = reader.ReadBlockList(CustomTitles.ReadTitle);
						Hues = reader.ReadBlockList(CustomTitles.ReadTitleHue);

						SelectedTitle = CustomTitles.ReadTitle(reader);
						SelectedHue = CustomTitles.ReadTitleHue(reader);
					}
					break;
			}
		}
Пример #19
0
		private static void DeserializeReports(GenericReader reader)
		{
			reader.GetVersion();

			reader.ReadBlockList(() => new AntiAdvertsReport(reader), Reports);
		}
Пример #20
0
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			int version = reader.GetVersion();

			switch (version)
			{
                case 2:
                    {
                        NotifyPlayer = reader.ReadBool();
                    }
                    goto case 1;
				case 1:
					{
						SearchMode = reader.ReadFlag<StringSearchFlags>();
						SearchCapsIgnore = reader.ReadBool();
					}
					goto case 0;
				case 0:
					{
						if (version < 1)
						{
							SearchMode = StringSearchFlags.Contains;
							SearchCapsIgnore = true;
						}

						WhitespaceAliases = reader.ReadBlockList(reader.ReadChar);
						KeyWords = reader.ReadBlockList(reader.ReadString);

						LogEnabled = reader.ReadBool();
						ConsoleWrite = reader.ReadBool();

						PageStaff = reader.ReadBool();

						NotifyStaff = reader.ReadBool();
						NotifyAccess = reader.ReadFlag<AccessLevel>();

						Jail = reader.ReadBool();
						JailPoint = new MapPoint(reader);

						Squelch = reader.ReadBool();
						Kick = reader.ReadBool();
						Ban = reader.ReadBool();
					}
					break;
			}
		}