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

            int version = reader.GetVersion();

            switch (version)
            {
            case 1:
            {
                SkipTicks    = reader.ReadInt();
                SkippedTicks = reader.ReadInt();
            }
                goto case 0;

            case 0:
            {
                reader.ReadBlock(
                    () =>
                    {
                        CurrentSeason  = reader.ReadInt();
                        TopListCount   = reader.ReadInt();
                        RunnersUpCount = reader.ReadInt();

                        ScheduleInfo = reader.ReadTypeCreate <ScheduleInfo>(reader) ?? new ScheduleInfo(reader);
                        AutoPvP.SeasonSchedule.Enabled = reader.ReadBool();
                    });

                reader.ReadBlock(() => { Rewards = reader.ReadTypeCreate <PvPRewards>(reader) ?? new PvPRewards(reader); });
            }
            break;
            }
        }
Пример #2
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.GetVersion();

            switch (version)
            {
            case 1:
            {
                reader.ReadBlock(() => { Misc = reader.ReadTypeCreate <AutoPvPMiscOptions>(reader) ?? new AutoPvPMiscOptions(reader); });
            }
                goto case 0;

            case 0:
            {
                if (version == 0)
                {
                    Misc = new AutoPvPMiscOptions();
                }

                reader.ReadBlock(
                    () => { Commands = reader.ReadTypeCreate <AutoPvPCommandOptions>(reader) ?? new AutoPvPCommandOptions(reader); });

                reader.ReadBlock(
                    () => { Profiles = reader.ReadTypeCreate <AutoPvPProfileOptions>(reader) ?? new AutoPvPProfileOptions(reader); });

                reader.ReadBlock(
                    () => { Seasons = reader.ReadTypeCreate <AutoPvPSeasonOptions>(reader) ?? new AutoPvPSeasonOptions(reader); });
            }
            break;
            }
        }
Пример #3
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.GetVersion();

            switch (version)
            {
            case 0:
            {
                reader.ReadBlock(
                    () => { Items = reader.ReadTypeCreate <PvPBattleItemRestrictions>(reader) ?? new PvPBattleItemRestrictions(reader); });

                reader.ReadBlock(
                    () => { Pets = reader.ReadTypeCreate <PvPBattlePetRestrictions>(reader) ?? new PvPBattlePetRestrictions(reader); });

                reader.ReadBlock(
                    () => { Skills = reader.ReadTypeCreate <PvPBattleSkillRestrictions>(reader) ?? new PvPBattleSkillRestrictions(reader); });

                reader.ReadBlock(
                    () => { Spells = reader.ReadTypeCreate <PvPBattleSpellRestrictions>(reader) ?? new PvPBattleSpellRestrictions(reader); });
            }
            break;
            }
        }
Пример #4
0
        private static Tuple <PvPSerial, PvPBattle> DeserializeBattle(GenericReader reader)
        {
            PvPSerial key = null;
            PvPBattle val = null;

            int version = reader.GetVersion();

            switch (version)
            {
            case 0:
            {
                reader.ReadBlock(() => key = reader.ReadTypeCreate <PvPSerial>(reader));
                reader.ReadBlock(() => val = reader.ReadTypeCreate <PvPBattle>(reader));
            }
            break;
            }

            if (key == null)
            {
                if (val != null && val.Serial != null)
                {
                    key = val.Serial;
                }
                else
                {
                    return(null);
                }
            }

            return(new Tuple <PvPSerial, PvPBattle>(key, val));
        }
Пример #5
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.GetVersion();

            switch (version)
            {
            case 0:
            {
                reader.ReadBlock(
                    () => { Broadcasts = reader.ReadTypeCreate <PvPBattleBroadcasts>(reader) ?? new PvPBattleBroadcasts(reader); });

                reader.ReadBlock(
                    () => { Locations = reader.ReadTypeCreate <PvPBattleLocations>(reader) ?? new PvPBattleLocations(reader); });

                reader.ReadBlock(
                    () => { Restrictions = reader.ReadTypeCreate <PvPBattleRestrictions>(reader) ?? new PvPBattleRestrictions(reader); });

                reader.ReadBlock(() => { Rewards = reader.ReadTypeCreate <PvPRewards>(reader) ?? new PvPRewards(reader); });

                reader.ReadBlock(() => { Rules = reader.ReadTypeCreate <PvPBattleRules>(reader) ?? new PvPBattleRules(reader); });

                reader.ReadBlock(() => { Sounds = reader.ReadTypeCreate <PvPBattleSounds>(reader) ?? new PvPBattleSounds(reader); });

                reader.ReadBlock(
                    () => { SuddenDeath = reader.ReadTypeCreate <PvPBattleSuddenDeath>(reader) ?? new PvPBattleSuddenDeath(reader); });

                reader.ReadBlock(() => { Timing = reader.ReadTypeCreate <PvPBattleTiming>(reader) ?? new PvPBattleTiming(reader); });

                reader.ReadBlock(() => { Weather = reader.ReadTypeCreate <PvPBattleWeather>(reader) ?? new PvPBattleWeather(reader); });
            }
            break;
            }
        }
Пример #6
0
        public virtual void Deserialize(GenericReader reader)
        {
            int version = reader.GetVersion();

            switch (version)
            {
            case 0:
            {
                _Info = reader.ReadTypeCreate <ScheduleInfo>(reader) ?? new ScheduleInfo();

                _Enabled         = reader.ReadBool();
                _Name            = reader.ReadString();
                _DefaultPriority = reader.ReadFlag <TimerPriority>();

                if (reader.ReadBool())
                {
                    _LastGlobalTick = reader.ReadDateTime();
                }

                if (reader.ReadBool())
                {
                    _NextGlobalTick = reader.ReadDateTime();
                }

                Delay    = reader.ReadTimeSpan();
                Interval = reader.ReadTimeSpan();
            }
            break;
            }

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

            var version = reader.GetVersion();

            switch (version)
            {
            case 0:
            {
                reader.ReadBlock(r => Local = reader.ReadTypeCreate <PvPBattleLocalBroadcasts>(r) ?? new PvPBattleLocalBroadcasts());
                reader.ReadBlock(r => World = reader.ReadTypeCreate <PvPBattleWorldBroadcasts>(r) ?? new PvPBattleWorldBroadcasts());
            }
            break;
            }
        }
Пример #8
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.GetVersion();

            switch (version)
            {
            case 0:
            {
                reader.ReadBlock(() => { Loser = reader.ReadTypeCreate <PvPReward>(reader) ?? new PvPReward(reader); });

                reader.ReadBlock(() => { Winner = reader.ReadTypeCreate <PvPReward>(reader) ?? new PvPReward(reader); });
            }
            break;
            }
        }
Пример #9
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            reader.GetVersion();

            Page = reader.ReadTypeCreate <TPage>(this, reader);
        }
Пример #10
0
        public virtual void Deserialize(GenericReader reader)
        {
            var version = reader.GetVersion();

            if (version > 2)
            {
                UID = new CryptoHashCode(reader);
            }
            else
            {
                UID = new CryptoHashCode(CryptoHashType.MD5, TimeStamp.Now + "+" + Utility.RandomDouble());
            }

            switch (version)
            {
            case 3:
            case 2:
            case 1:
            case 0:
            {
                if (version < 2)
                {
                    _Info = reader.ReadTypeCreate <ScheduleInfo>(reader) ?? new ScheduleInfo();
                }
                else
                {
                    _Info = reader.ReadBlock(r => r.ReadTypeCreate <ScheduleInfo>(r)) ?? new ScheduleInfo();
                }

                _Enabled         = reader.ReadBool();
                _Name            = reader.ReadString();
                _DefaultPriority = reader.ReadFlag <TimerPriority>();

                if (reader.ReadBool())
                {
                    _LastGlobalTick = reader.ReadDateTime();
                }

                if (reader.ReadBool())
                {
                    _NextGlobalTick = reader.ReadDateTime();
                }

                Delay    = reader.ReadTimeSpan();
                Interval = reader.ReadTimeSpan();
            }
            break;
            }

            InvalidateNextTick();

            if (version > 0)
            {
                Running = reader.ReadBool();
            }
        }
Пример #11
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                Name         = reader.ReadString();
                Display      = reader.ReadBool();
                DisplayParts = reader.ReadBool();
                DisplayMods  = reader.ReadBool();

                Parts = reader.ReadList(() => reader.ReadTypeCreate <EquipmentSetPart>(reader));
                Mods  = reader.ReadList(() => reader.ReadTypeCreate <EquipmentSetMod>(reader));
            }
            break;
            }
        }
Пример #12
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.GetVersion();

            switch (version)
            {
            case 0:
            {
                reader.ReadBlock(
                    () => { Advanced = reader.ReadTypeCreate <AutoPvPAdvancedOptions>(reader) ?? new AutoPvPAdvancedOptions(reader); });

                reader.ReadBlock(
                    () => { Statistics = reader.ReadTypeCreate <AutoPvPStatistics>(reader) ?? new AutoPvPStatistics(reader); });

                reader.ReadBlock(
                    () =>
                    { ExecuteCommands = reader.ReadTypeCreate <AutoPvPExecuteCommands>(reader) ?? new AutoPvPExecuteCommands(reader); });
            }
            break;
            }
        }
Пример #13
0
        public virtual void Deserialize(GenericReader reader)
        {
            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                Months = reader.ReadFlag <ScheduleMonths>();
                Days   = reader.ReadFlag <ScheduleDays>();
                Times  = reader.ReadTypeCreate <ScheduleTimes>(reader) ?? new ScheduleTimes(reader);
            }
            break;
            }
        }
Пример #14
0
        public void Deserialize(GenericReader reader)
        {
            int version = reader.ReadInt();

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

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

                Subscriptions = reader.ReadBlockList(
                    () =>
                    {
                        PvPSerial serial = reader.ReadTypeCreate <PvPSerial>(reader) ?? new PvPSerial(reader);
                        return(AutoPvP.FindBattleByID(serial));
                    });
            }
            break;
            }
        }
Пример #15
0
        private static bool DeserializeInvasions(GenericReader reader)
        {
            reader.GetVersion();

            reader.ReadBlockDictionary(
                () =>
            {
                var c = reader.ReadTypeCreate <Invasion>(reader);

                InvasionSerial s = c != null ? c.UID : null;

                return(new KeyValuePair <InvasionSerial, Invasion>(s, c));
            },
                Invasions);

            return(true);
        }
Пример #16
0
        private static bool DeserializeZombieEvent(GenericReader reader)
        {
            reader.GetVersion();

            reader.ReadBlockDictionary(
                () =>
            {
                var c = reader.ReadTypeCreate <ZombieInstance>(reader);

                ZombieInstanceSerial s = c != null ? c.Uid : null;

                return(new KeyValuePair <ZombieInstanceSerial, ZombieInstance>(s, c));
            },
                ZombieEvents);

            return(true);
        }
Пример #17
0
        private static bool DeserializePortals(GenericReader reader)
        {
            reader.GetVersion();

            reader.ReadBlockDictionary(
                () =>
            {
                var c = reader.ReadTypeCreate <Portal>(reader);

                PortalSerial s = c != null ? c.UID : null;

                return(new KeyValuePair <PortalSerial, Portal>(s, c));
            },
                PortalList);

            return(true);
        }
Пример #18
0
        public virtual void Deserialize(GenericReader reader)
        {
            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                Entries = reader.ReadBlockDictionary(
                    () =>
                    {
                        PvPProfileHistoryEntry e = reader.ReadTypeCreate <PvPProfileHistoryEntry>(reader);
                        return(new KeyValuePair <int, PvPProfileHistoryEntry>(e.Season, e));
                    });
            }
            break;
            }
        }
Пример #19
0
        public virtual void Deserialize(GenericReader reader)
        {
            var version = reader.GetVersion();

            switch (version)
            {
            case 2:
            case 1:
            case 0:
            {
                if (version < 2)
                {
                    _Info = reader.ReadTypeCreate <ScheduleInfo>(reader) ?? new ScheduleInfo();
                }
                else
                {
                    reader.ReadBlock(r => _Info = r.ReadTypeCreate <ScheduleInfo>(r) ?? new ScheduleInfo());
                }

                _Enabled         = reader.ReadBool();
                _Name            = reader.ReadString();
                _DefaultPriority = reader.ReadFlag <TimerPriority>();

                if (reader.ReadBool())
                {
                    _LastGlobalTick = reader.ReadDateTime();
                }

                if (reader.ReadBool())
                {
                    _NextGlobalTick = reader.ReadDateTime();
                }

                Delay    = reader.ReadTimeSpan();
                Interval = reader.ReadTimeSpan();
            }
            break;
            }

            if (version > 0)
            {
                Running = reader.ReadBool();
            }
        }
Пример #20
0
        protected override void Deserialize(GenericReader reader)
        {
            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                reader.ReadDictionary(
                    () =>
                    {
                        string key = reader.ReadString();
                        var val    = reader.ReadTypeCreate <Schedule>(reader);
                        return(new KeyValuePair <string, Schedule>(key, val));
                    },
                    this);
            }
            break;
            }
        }
Пример #21
0
        private static bool DeserializeHandlers(GenericReader reader)
        {
            var list = reader.ReadBlockArray(() => reader.ReadTypeCreate <BaseTrashHandler>(reader));

            list.ForEach(
                h =>
            {
                if (!Handlers.ContainsKey(h.UID))
                {
                    Handlers.Add(h.UID, h);
                }
                else
                {
                    Handlers[h.UID] = h;
                }
            });

            InternalHandlerSort();
            return(true);
        }
Пример #22
0
        private static bool DeserializeProfiles(GenericReader reader)
        {
            int version = reader.GetVersion();

            switch (version)
            {
            case 0:
            {
                reader.ReadBlockDictionary(
                    () =>
                    {
                        PlayerMobile key = reader.ReadMobile <PlayerMobile>();
                        PvPProfile val   = reader.ReadTypeCreate <PvPProfile>(reader);
                        return(new KeyValuePair <PlayerMobile, PvPProfile>(key, val));
                    },
                    Profiles);
            }
            break;
            }

            return(true);
        }
Пример #23
0
        private static bool DeserializeSeasons(GenericReader reader)
        {
            int version = reader.GetVersion();

            switch (version)
            {
            case 0:
            {
                reader.ReadBlockDictionary(
                    () =>
                    {
                        int key       = reader.ReadInt();
                        PvPSeason val = reader.ReadTypeCreate <PvPSeason>(reader) ?? new PvPSeason(key);
                        return(new KeyValuePair <int, PvPSeason>(key, val));
                    },
                    Seasons);
            }
            break;
            }

            return(true);
        }
Пример #24
0
        private static bool DeserializeVoteSites(GenericReader reader)
        {
            int version = reader.GetVersion();

            switch (version)
            {
            case 0:
            {
                reader.ReadBlockDictionary(
                    () =>
                    {
                        var v = reader.ReadTypeCreate <IVoteSite>(reader);

                        return(new KeyValuePair <int, IVoteSite>(v.UID, v));
                    },
                    VoteSites);
            }
            break;
            }

            return(true);
        }
Пример #25
0
        private static bool DeserializeConquestRegistry(GenericReader reader)
        {
            int version = reader.GetVersion();

            switch (version)
            {
            case 0:
            {
                reader.ReadBlockDictionary(
                    () =>
                    {
                        var c = reader.ReadTypeCreate <Conquest>(reader);

                        ConquestSerial s = c != null ? c.UID : null;

                        return(new KeyValuePair <ConquestSerial, Conquest>(s, c));
                    },
                    ConquestRegistry);
            }
            break;
            }

            return(true);
        }
Пример #26
0
 public override ToolbarEntry DeserializeContent(GenericReader reader, Type type, int x, int y)
 {
     return(reader.ReadTypeCreate <ToolbarEntry>(reader));
 }
Пример #27
0
        public virtual void Deserialize(GenericReader reader)
        {
            int version = reader.GetVersion();

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

            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(() => Serial = reader.ReadTypeCreate <PvPSerial>(reader) ?? new PvPSerial());
                }

                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(() => Options = reader.ReadTypeCreate <PvPBattleOptions>(reader) ?? new PvPBattleOptions());

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

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

                reader.ReadBlock(
                    () => BattleRegion = reader.ReadTypeCreate <PvPBattleRegion>(this, reader) ?? new PvPBattleRegion(this));

                reader.ReadBlock(
                    () => SpectateRegion = reader.ReadTypeCreate <PvPSpectateRegion>(this, reader) ?? new PvPSpectateRegion(this));

                reader.ReadBlockList(() => reader.ReadTypeCreate <PvPTeam>(this, reader) ?? new PvPTeam(this), Teams);
            }
            break;
            }
        }
Пример #28
0
 public override Entry DeserializeContent(GenericReader reader, Type type, int x, int y)
 {
     return(reader.ReadTypeCreate <Entry>(Parent, reader));
 }
Пример #29
0
        private static bool DeserializeInvasions(GenericReader reader)
        {
            reader.GetVersion();

            reader.ReadBlockDictionary(
                () =>
                {
                    var c = reader.ReadTypeCreate<Invasion>(reader);

                    InvasionSerial s = c != null ? c.UID : null;

                    return new KeyValuePair<InvasionSerial, Invasion>(s, c);
                },
                Invasions);

            return true;
        }
Пример #30
0
        private static bool DeserializePortals(GenericReader reader)
        {
            reader.GetVersion();

            reader.ReadBlockDictionary(
                () =>
                {
                    var c = reader.ReadTypeCreate<Portal>(reader);

                    PortalSerial s = c != null ? c.UID : null;

                    return new KeyValuePair<PortalSerial, Portal>(s, c);
                },
                PortalList);

            return true;
        }
Пример #31
0
        private static bool DeserializeConquestRegistry(GenericReader reader)
        {
            int version = reader.GetVersion();

            switch (version)
            {
                case 0:
                {
                    reader.ReadBlockDictionary(
                        () =>
                        {
                            var c = reader.ReadTypeCreate<Conquest>(reader);

                            ConquestSerial s = c != null ? c.UID : null;

                            return new KeyValuePair<ConquestSerial, Conquest>(s, c);
                        },
                        ConquestRegistry);
                }
                    break;
            }

            return true;
        }
Пример #32
0
        private static bool DeserializeZombieEvent(GenericReader reader)
        {
            reader.GetVersion();

            reader.ReadBlockDictionary(
                () =>
                {
                    var c = reader.ReadTypeCreate<ZombieInstance>(reader);

                    ZombieInstanceSerial s = c != null ? c.Uid : null;

                    return new KeyValuePair<ZombieInstanceSerial, ZombieInstance>(s, c);
                },
                ZombieEvents);

            return true;
        }
Пример #33
0
        public virtual void Deserialize(GenericReader reader)
        {
            int version = reader.GetVersion();

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

            switch (version)
            {
            case 6:
            case 5:
            case 4:
            case 3:
                RespawnOnStart = reader.ReadBool();
                goto case 2;

            case 2:
                KickOnDeath = reader.ReadBool();
                goto case 1;

            case 1:
            {
                GateLocation = new MapPoint(reader);
                Gate         = reader.ReadItem <PvPTeamGate>();
            }
                goto case 0;

            case 0:
            {
                Name        = reader.ReadString();
                MinCapacity = reader.ReadInt();
                MaxCapacity = reader.ReadInt();
                Color       = reader.ReadInt();
                HomeBase    = reader.ReadPoint3D();
                SpawnPoint  = reader.ReadPoint3D();

                RespawnOnDeath = reader.ReadBool();
                RespawnDelay   = reader.ReadTimeSpan();

                reader.ReadBlock(() => Statistics = reader.ReadTypeCreate <PvPTeamStatistics>(this) ?? new PvPTeamStatistics(this));
            }
            break;
            }

            if (version < 4)
            {
                RespawnOnStart = true;
            }

            if (version < 1)
            {
                GateLocation = MapPoint.Empty;
            }

            if (Gate != null)
            {
                Gate.Team = this;
            }

            if (Battle == null)
            {
                Delete();
            }
        }