public BaseCollectionMobile(string name, string title)
            : base(title)
        {
            this.Name     = name;
            this.Frozen   = true;
            this.CantWalk = true;

            this.Init();

            CollectionsSystem.RegisterMobile(this);
        }
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            this.Init();

            if (version == 0)
            {
                this.m_Points     = reader.ReadLong();
                this.m_StartTier  = reader.ReadLong();
                this.m_NextTier   = reader.ReadLong();
                this.m_DailyDecay = reader.ReadLong();
                this.m_Tier       = reader.ReadInt();

                this.m_DonationTitle = QuestReader.Object(reader);

                for (int i = reader.ReadInt(); i > 0; i--)
                {
                    List <object> list = new List <object>();

                    for (int j = reader.ReadInt(); j > 0; j--)
                    {
                        list.Add(QuestReader.Object(reader));
                    }

                    this.m_Tiers.Add(list);
                }
                CollectionsSystem.RegisterMobile(this);
            }

            if (this.CantWalk)
            {
                this.Frozen = true;
            }
        }
        public override void OnDelete()
        {
            base.OnDelete();

            CollectionsSystem.UnregisterMobile(this);
        }