コード例 #1
0
        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();
            }
        }
コード例 #2
0
ファイル: BallotBox.cs プロジェクト: tateima/PathOfUO
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.ReadEncodedInt();

            Topic = new string[reader.ReadEncodedInt()];

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

            Yes = reader.ReadEntityList <Mobile>();
            No  = reader.ReadEntityList <Mobile>();
        }
コード例 #3
0
            public override void Deserialize(IGenericReader reader)
            {
                base.Deserialize(reader);

                int version = reader.ReadInt();

                m_Mobiles = reader.ReadEntityList <Mobile>();;

                for (int i = 0; i < m_Mobiles.Count; ++i)
                {
                    m_Mobiles[i].Delete();
                }

                m_Mobiles.Clear();

                for (int i = Items.Count - 1; i >= 0; --i)
                {
                    if (i < Items.Count)
                    {
                        Items[i].Delete();
                    }
                }

                if (m_Cache == null)
                {
                    m_Cache = this;
                }
                else
                {
                    Delete();
                }

                m_Table = new Dictionary <Type, IEntity>();
            }
コード例 #4
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadEncodedInt();

            m_Topic = new string[reader.ReadEncodedInt()];

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

            m_Yes = reader.ReadEntityList <Mobile>();
            m_No  = reader.ReadEntityList <Mobile>();
        }
コード例 #5
0
        public VendorInventory(BaseHouse house, IGenericReader reader)
        {
            House = house;

            var version = reader.ReadEncodedInt();

            Owner      = reader.ReadEntity <Mobile>();
            VendorName = reader.ReadString();
            ShopName   = reader.ReadString();

            Items = reader.ReadEntityList <Item>();
            Gold  = reader.ReadInt();

            ExpireTime = reader.ReadDeltaTime();

            if (Items.Count == 0 && Gold == 0)
            {
                Timer.DelayCall(Delete);
            }
            else
            {
                var delay = ExpireTime - Core.Now;
                m_ExpireTimer = new ExpireTimer(this, delay > TimeSpan.Zero ? delay : TimeSpan.Zero);
                m_ExpireTimer.Start();
            }
        }
コード例 #6
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.ReadEncodedInt();

            m_Spawned = reader.ReadEntityList <Mobile>();
        }
コード例 #7
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.ReadEncodedInt();

            Keys = reader.ReadEntityList <Key>();
        }
コード例 #8
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.ReadEncodedInt();

            Components = reader.ReadEntityList <PlagueBeastComponent>();
            BrainHue   = reader.ReadInt();
            Opened     = reader.ReadBool();
        }
コード例 #9
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            m_Components = reader.ReadEntityList <AddonContainerComponent>();
            m_Resource   = (CraftResource)reader.ReadInt();

            AddonComponent.ApplyLightTo(this);
        }
コード例 #10
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                m_Items     = reader.ReadEntityList <Item>();
                m_Mobiles   = reader.ReadEntityList <Mobile>();;
                m_DecayTime = reader.ReadDeltaTime();

                RefreshDecay(false);

                break;
            }
            }
        }
コード例 #11
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                m_Components = reader.ReadEntityList <Item>();

                break;
            }
            }

            Timer.DelayCall(TimeSpan.Zero, Delete);
        }
コード例 #12
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                m_Components = reader.ReadEntityList <Item>();

                break;
            }
            }

            Timer.StartTimer(Delete);
        }
コード例 #13
0
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 1:
            case 0:
            {
                m_Components = reader.ReadEntityList <AddonComponent>();
                break;
            }
            }

            if (version < 1 && Weight == 0)
            {
                Weight = -1;
            }
        }
コード例 #14
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();
            }
        }
コード例 #15
0
 private void Deserialize(IGenericReader reader, int version)
 {
     _spawned = reader.ReadEntityList <Mobile>();
 }
コード例 #16
0
ファイル: Corpse.cs プロジェクト: Andries1985/Zuluhotel_Omega
        public override void Deserialize(IGenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 12:
            {
                if (reader.ReadBool())
                {
                    m_RestoreEquip = reader.ReadEntityList <Item>();
                }

                goto case 11;
            }

            case 11:
            {
                // Version 11, we move all bools to a CorpseFlag
                m_Flags = (CorpseFlag)reader.ReadInt();

                m_TimeOfDeath = reader.ReadDeltaTime();

                int count = reader.ReadInt();

                for (int i = 0; i < count; ++i)
                {
                    Item item = reader.ReadEntity <Item>();

                    if (reader.ReadBool())
                    {
                        SetRestoreInfo(item, reader.ReadPoint3D());
                    }
                    else if (item != null)
                    {
                        SetRestoreInfo(item, item.Location);
                    }
                }

                if (reader.ReadBool())
                {
                    BeginDecay(reader.ReadDeltaTime() - DateTime.Now);
                }

                m_Looters = reader.ReadEntityList <Mobile>();
                ;
                m_Killer = reader.ReadEntity <Mobile>();

                m_Aggressors = reader.ReadEntityList <Mobile>();
                ;
                m_Owner = reader.ReadEntity <Mobile>();

                m_CorpseName = reader.ReadString();

                m_AccessLevel = (AccessLevel)reader.ReadInt();
                reader.ReadInt();     // guild reserve
                m_Kills = reader.ReadInt();

                m_EquipItems = reader.ReadEntityList <Item>();
                break;
            }

            case 10:
            {
                m_TimeOfDeath = reader.ReadDeltaTime();

                goto case 9;
            }

            case 9:
            {
                int count = reader.ReadInt();

                for (int i = 0; i < count; ++i)
                {
                    Item item = reader.ReadEntity <Item>();

                    if (reader.ReadBool())
                    {
                        SetRestoreInfo(item, reader.ReadPoint3D());
                    }
                    else if (item != null)
                    {
                        SetRestoreInfo(item, item.Location);
                    }
                }

                goto case 8;
            }

            case 8:
            {
                SetFlag(CorpseFlag.VisitedByTaxidermist, reader.ReadBool());

                goto case 7;
            }

            case 7:
            {
                if (reader.ReadBool())
                {
                    BeginDecay(reader.ReadDeltaTime() - DateTime.Now);
                }

                goto case 6;
            }

            case 6:
            {
                m_Looters = reader.ReadEntityList <Mobile>();
                ;
                m_Killer = reader.ReadEntity <Mobile>();

                goto case 5;
            }

            case 5:
            {
                SetFlag(CorpseFlag.Carved, reader.ReadBool());

                goto case 4;
            }

            case 4:
            {
                m_Aggressors = reader.ReadEntityList <Mobile>();
                ;

                goto case 3;
            }

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

                goto case 2;
            }

            case 2:
            {
                SetFlag(CorpseFlag.NoBones, reader.ReadBool());

                goto case 1;
            }

            case 1:
            {
                m_CorpseName = reader.ReadString();

                goto case 0;
            }

            case 0:
            {
                if (version < 10)
                {
                    m_TimeOfDeath = DateTime.Now;
                }

                if (version < 7)
                {
                    BeginDecay(m_DefaultDecayTime);
                }

                if (version < 6)
                {
                    m_Looters = new List <Mobile>();
                }

                if (version < 4)
                {
                    m_Aggressors = new List <Mobile>();
                }

                m_AccessLevel = (AccessLevel)reader.ReadInt();
                reader.ReadInt();     // guild reserve
                m_Kills = reader.ReadInt();
                SetFlag(CorpseFlag.Criminal, reader.ReadBool());

                m_EquipItems = reader.ReadEntityList <Item>();

                break;
            }
            }
        }
コード例 #17
0
ファイル: Guild.cs プロジェクト: zuluhotelaustralia/zuluhotel
        public override void Deserialize(IGenericReader reader)
        {
            int version = reader.ReadInt();

            switch (version)
            {
            case 5:
            case 4:
            {
                m_AllyDeclarations = reader.ReadEntityList <Guild>();
                m_AllyInvitations  = reader.ReadEntityList <Guild>();

                goto case 3;
            }

            case 3:
            {
                m_TypeLastChange = reader.ReadDateTime();

                goto case 2;
            }

            case 2:
            {
                m_Type = (GuildType)reader.ReadInt();

                goto case 1;
            }

            case 1:
            {
                m_LastFealty = reader.ReadDateTime();

                goto case 0;
            }

            case 0:
            {
                m_Leader = reader.ReadEntity <Mobile>();

                if (m_Leader is PlayerMobile)
                {
                    ((PlayerMobile)m_Leader).GuildRank = RankDefinition.Leader;
                }

                m_Name         = reader.ReadString();
                m_Abbreviation = reader.ReadString();

                m_Allies          = reader.ReadEntityList <Guild>();
                m_Enemies         = reader.ReadEntityList <Guild>();
                m_WarDeclarations = reader.ReadEntityList <Guild>();
                m_WarInvitations  = reader.ReadEntityList <Guild>();

                m_Members = reader.ReadEntityList <Mobile>();
                ;
                m_Candidates = reader.ReadEntityList <Mobile>();
                ;
                m_Accepted = reader.ReadEntityList <Mobile>();
                ;

                m_Guildstone = reader.ReadEntity <Item>();
                m_Teleporter = reader.ReadEntity <Item>();

                m_Charter = reader.ReadString();
                m_Website = reader.ReadString();

                break;
            }
            }

            if (m_AllyDeclarations == null)
            {
                m_AllyDeclarations = new List <Guild>();
            }

            if (m_AllyInvitations == null)
            {
                m_AllyInvitations = new List <Guild>();
            }

            Timer.DelayCall(TimeSpan.Zero, VerifyGuild_Callback);
        }