示例#1
0
        public override void ChildDeserialize(IGenericReader reader)
        {
            int version = reader.ReadEncodedInt();

            int count = reader.ReadEncodedInt();

            for (int i = 0; i < count; i++)
            {
                NestArea nest = NestArea.GetByID(reader.ReadEncodedInt());
                m_StudiedNests.Add(nest);
            }

            StudiedSpecialNest = reader.ReadBool();
        }
示例#2
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);
            var version = reader.ReadInt();

            switch (version)
            {
            case 1:
            {
                BurstSac = reader.ReadBool();
                break;
            }
            }
        }
示例#3
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.ReadInt();

            switch (version)
            {
            case 1:
            case 0:
            {
                Poster       = reader.ReadMobile();
                Subject      = reader.ReadString();
                Time         = reader.ReadDateTime();
                LastPostTime = reader.ReadDateTime();
                var hasThread = reader.ReadBool();
                Thread     = reader.ReadItem() as BulletinMessage;
                PostedName = reader.ReadString();
                PostedBody = reader.ReadInt();
                PostedHue  = reader.ReadInt();

                PostedEquip = new BulletinEquip[reader.ReadInt()];

                for (var i = 0; i < PostedEquip.Length; ++i)
                {
                    PostedEquip[i].itemID = reader.ReadInt();
                    PostedEquip[i].hue    = reader.ReadInt();
                }

                Lines = new string[reader.ReadInt()];

                for (var i = 0; i < Lines.Length; ++i)
                {
                    Lines[i] = reader.ReadString();
                }

                if (hasThread && Thread == null)
                {
                    Delete();
                }

                if (version == 0)
                {
                    ValidationQueue <BulletinMessage> .Add(this);
                }

                break;
            }
            }
        }
示例#4
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);
            var version = reader.ReadInt();

            switch (version)
            {
            case 1:
            {
                IsShipwreckedItem = reader.ReadBool();
                break;
            }
            }
        }
示例#5
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            m_Necromancer = reader.ReadMobile() as PlayerMobile;
            m_ToDelete    = reader.ReadBool();

            if (m_ToDelete)
            {
                Delete();
            }
        }
示例#6
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            m_Target    = reader.ReadPoint3D();
            m_TargetMap = reader.ReadMap();

            if (version >= 1)
            {
                m_bDispellable = reader.ReadBool();
            }
        }
示例#7
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                m_BurntOut  = reader.ReadBool();
                m_Burning   = reader.ReadBool();
                m_Duration  = reader.ReadTimeSpan();
                m_Protected = reader.ReadBool();

                if (m_Burning && m_Duration != TimeSpan.Zero)
                {
                    DoTimer(reader.ReadDeltaTime() - DateTime.Now);
                }

                break;
            }
            }
        }
示例#8
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 1:
            {
                m_SpeedBoost = reader.ReadBool();
                break;
            }
            }
        }
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 2:
            {
                m_Guardians = reader.ReadEntityList <Mobile>();
                m_Temporary = reader.ReadBool();

                goto case 1;
            }

            case 1:
            {
                m_Owner = reader.ReadEntity <Mobile>();

                goto case 0;
            }

            case 0:
            {
                m_Level      = reader.ReadInt();
                m_DeleteTime = reader.ReadDeltaTime();
                m_Lifted     = reader.ReadEntityList <Item>();

                if (version < 2)
                {
                    m_Guardians = new List <Mobile>();
                }

                break;
            }
            }

            if (!m_Temporary)
            {
                m_Timer = new DeleteTimer(this, m_DeleteTime);
                m_Timer.Start();
            }
            else
            {
                Delete();
            }
        }
示例#10
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.ReadInt();

            switch (version)
            {
            case 2:
            {
                Guardians = reader.ReadStrongMobileList();
                Temporary = reader.ReadBool();

                goto case 1;
            }

            case 1:
            {
                Owner = reader.ReadMobile();

                goto case 0;
            }

            case 0:
            {
                Level      = reader.ReadInt();
                DeleteTime = reader.ReadDeltaTime();
                m_Lifted   = reader.ReadStrongItemList();

                if (version < 2)
                {
                    Guardians = new List <Mobile>();
                }

                break;
            }
            }

            if (!Temporary)
            {
                m_Timer = new DeleteTimer(this, DeleteTime);
                m_Timer.Start();
            }
            else
            {
                Delete();
            }
        }
示例#11
0
        public virtual void BaseDeserialize(IGenericReader reader)
        {
            int version = reader.ReadEncodedInt();

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

                break;
            }
            }

            ChildDeserialize(reader);
        }
示例#12
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                m_Start          = reader.ReadDateTime();
                m_HatchDuration  = reader.ReadDouble();
                m_AllowEvolution = reader.ReadBool();
                break;
            }
            }
        }
示例#13
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                m_Queen        = reader.ReadEntity <BaseCreature>();
                m_SpawnedQueen = reader.ReadBool();

                break;
            }
            }
        }
示例#14
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 3:
            {
                m_BeforeChangeover = reader.ReadBool();
                goto case 2;
            }

            case 2:
            {
                m_GuildName   = reader.ReadString();
                m_GuildAbbrev = reader.ReadString();

                goto case 1;
            }

            case 1:
            {
                m_Guild = reader.ReadEntity <Guild>();

                goto case 0;
            }

            case 0:
            {
                break;
            }
            }

            if (version <= 2)
            {
                m_BeforeChangeover = true;
            }

            if (m_Guild == null)
            {
                Delete();
            }
        }
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadEncodedInt();

            switch (version)
            {
            case 0:
                m_Picked = reader.ReadBool();
                break;
            }
            if (m_Picked)
            {
                Unlink();
                Delete();
            }
        }
示例#16
0
    private void Deserialize(IGenericReader reader, int version)
    {
        var seats = reader.ReadInt();

        _players    = new Mobile[seats];
        _inGame     = new bool[seats];
        _publicHand = new bool[seats];
        _scores     = new int[seats];

        for (var i = 0; i < seats; i++)
        {
            _players[i]    = reader.ReadEntity <Mobile>();
            _publicHand[i] = reader.ReadBool();
            _scores[i]     = reader.ReadInt();
        }

        _dealerPosition = reader.ReadInt();
    }
示例#17
0
        private void Deserialize(IGenericReader reader, int version)
        {
            switch (version)
            {
            case 3:
            case 2:
            case 1:
            {
                var next = reader.ReadDateTime();

                if (next < Core.Now)
                {
                    next = Core.Now;
                }

                _evaluateTimer = Timer.DelayCall(next - Core.Now, EvaluationInterval, Evaluate);

                goto case 0;
            }

            case 0:
            {
                _liveCreatures = reader.ReadInt();
                _vacationLeft  = reader.ReadInt();

                _food = new AquariumState(this);
                _food.Deserialize(reader);
                _water = new AquariumState(this);
                _water.Deserialize(reader);

                _events = new List <int>();
                var count = reader.ReadInt();
                for (var i = 0; i < count; i++)
                {
                    _events.Add(reader.ReadInt());
                }

                _rewardAvailable = reader.ReadBool();
                break;
            }
            }
        }
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.ReadInt();

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

            case 0:
            {
                if (version < 1)
                {
                    Level = SecureLevel.Anyone;
                }

                Title = reader.ReadString();

                if (reader.ReadBool())
                {
                    Greeting = new PlayerBBMessage(reader);
                }

                var count = reader.ReadEncodedInt();

                Messages = new List <PlayerBBMessage>(count);

                for (var i = 0; i < count; ++i)
                {
                    Messages.Add(new PlayerBBMessage(reader));
                }

                break;
            }
            }
        }
示例#19
0
        public void Deserialize(IGenericReader reader)
        {
            var version = reader.ReadInt();

            InvasionTown     = (InvasionTowns)reader.ReadInt();
            TownMonsterType  = (TownMonsterType)reader.ReadInt();
            TownChampionType = (TownChampionType)reader.ReadInt();
            StartTime        = reader.ReadDateTime();
            Spawned          = reader.ReadEntityList <Mobile>();
            Active           = reader.ReadBool();

            if (Spawned == null)
            {
                Spawned = new List <Mobile>();
            }

            if (Active)
            {
                InitTimer();
            }
        }
示例#20
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                m_TrueForm  = reader.ReadBool();
                m_GateItem  = reader.ReadItem();
                m_Tentacles = reader.ReadStrongMobileList <HarrowerTentacles>();

                m_Timer = new TeleportTimer(this);
                m_Timer.Start();

                break;
            }
            }
        }
示例#21
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

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

            case 3:
            {
                m_CombatCheck = reader.ReadBool();
                goto case 2;
            }

            case 2:
            {
                m_SourceEffect = reader.ReadBool();
                m_DestEffect   = reader.ReadBool();
                m_Delay        = reader.ReadTimeSpan();
                m_SoundID      = reader.ReadEncodedInt();

                goto case 1;
            }

            case 1:
            {
                m_Creatures = reader.ReadBool();

                goto case 0;
            }

            case 0:
            {
                m_Active    = reader.ReadBool();
                m_PointDest = reader.ReadPoint3D();
                m_MapDest   = reader.ReadMap();

                break;
            }
            }
        }
示例#22
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.ReadInt();

            switch (version)
            {
            case 1:
            case 0:
            {
                Ladder = new Ladder(reader);

                if (version < 1 || reader.ReadBool())
                {
                    Ladder.Instance = Ladder;
                }

                break;
            }
            }
        }
示例#23
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.ReadEncodedInt();

            OpenedBy = reader.ReadMobile();

            if (reader.ReadBool())
            {
                var count    = reader.ReadInt();
                var deadline = reader.ReadInt();

                m_Timer = new DecayTimer(this, count, deadline);
                m_Timer.Start();
            }

            if (FightMode == FightMode.None)
            {
                Frozen = true;
            }
        }
示例#24
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

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

            case 0:
            {
                m_Redyable = reader.ReadBool();
                m_DyedHue  = reader.ReadInt();

                break;
            }
            }
        }
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 1:
            {
                InUse = reader.ReadBool();

                if (InUse)
                {
                    Delete();
                }

                break;
            }
            }

            Stackable = false;
        }
示例#26
0
文件: Guild.cs 项目: silky/ModernUO
        public WarDeclaration(IGenericReader reader)
        {
            var version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                Kills    = reader.ReadInt();
                MaxKills = reader.ReadInt();

                WarLength    = reader.ReadTimeSpan();
                WarBeginning = reader.ReadDateTime();

                Guild    = reader.ReadGuild() as Guild;
                Opponent = reader.ReadGuild() as Guild;

                WarRequester = reader.ReadBool();

                break;
            }
            }
        }
示例#27
0
        public MahjongPlayers(MahjongGame game, IGenericReader reader)
        {
            Game         = game;
            m_Spectators = new List <Mobile>();

            int version = reader.ReadInt();

            int seats = reader.ReadInt();

            m_Players    = new Mobile[seats];
            m_InGame     = new bool[seats];
            m_PublicHand = new bool[seats];
            m_Scores     = new int[seats];

            for (int i = 0; i < seats; i++)
            {
                m_Players[i]    = reader.ReadMobile();
                m_PublicHand[i] = reader.ReadBool();
                m_Scores[i]     = reader.ReadInt();
            }

            DealerPosition = reader.ReadInt();
        }
示例#28
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.ReadInt();

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

                if (m_Decays)
                {
                    m_DecayTime = reader.ReadDeltaTime();

                    m_Timer = new InternalTimer(this, m_DecayTime);
                    m_Timer.Start();
                }

                break;
            }
            }
        }
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.ReadInt();

            switch (version)
            {
            case 1:
            {
                m_WarningFlame = reader.ReadBool();
                m_MinDamage    = reader.ReadInt();
                m_MaxDamage    = reader.ReadInt();
                break;
            }
            }

            if (version == 0)
            {
                m_WarningFlame = true;
                m_MinDamage    = 10;
                m_MaxDamage    = 40;
            }
        }
示例#30
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 1:
            {
                IsPrivate = reader.ReadBool();

                goto case 0;
            }

            case 0:
            {
                Arena = new Arena(reader);
                break;
            }
            }

            Instances.Add(this);
        }