示例#1
0
        /// <summary>
        /// Saves the object
        /// </summary>
        /// <param name="writer"></param>
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

            writer.Write((bool)m_Active);
            writer.Write((int)m_CurrLvl);
            writer.Write((int)m_HomeRange);
            writer.Write((int)m_LevelAmt);
            writer.Write((int)m_PlayerRange);
            writer.Write((DateTime)m_RechargeDelay);
            writer.Write((TimeSpan)m_RechargeTime);
            writer.Write((bool)m_SpawnStarted);
            writer.Write((bool)m_UseRitual);
            writer.Write((int)m_WalkingRange);
            writer.Write((bool)m_WaveStarted);

            writer.Write(m_CreaturesName.Count);
            for (int i = 0; i < m_CreaturesName.Count; ++i)
            {
                writer.Write((string)m_CreaturesName[i]);
            }

            writer.Write(m_Creatures.Count);
            for (int i = 0; i < m_Creatures.Count; ++i)
            {
                object o = m_Creatures[i];

                if (o is Item)
                {
                    writer.Write((Item)o);
                }
                else if (o is Mobile)
                {
                    writer.Write((Mobile)o);
                }
                else
                {
                    writer.Write(Serial.MinusOne);
                }
            }

            // Hack to save the progression level info
            writer.Write((int)m_Levels.Count);
            foreach (ProgressionLevel l in m_Levels)
            {
                l.Save(writer);
            }

            if (m_RecupeTimer != null)
            {
                m_RecupeTimer.Save(writer);
            }
            else
            {
                m_RecupeTimer = new RecupeTimer(TimeSpan.FromSeconds(0.0), this);
                m_RecupeTimer.Save(writer);
            }

            if (m_TimeLimit != null)
            {
                m_TimeLimit.Save(writer);
            }
            else
            {
                m_TimeLimit = new LimitTimer(TimeSpan.FromSeconds(0.0), this);
                m_TimeLimit.Save(writer);
            }
        }
示例#2
0
        /// <summary>
        /// Saves the object
        /// </summary>
        /// <param name="writer"></param>
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

            writer.Write((bool)m_Active);
            writer.Write((int)m_CurrLvl);
            writer.Write((int)m_HomeRange);
            writer.Write((int)m_LevelAmt);
            writer.Write((int)m_PlayerRange);
            writer.Write((DateTime)m_RechargeDelay);
            writer.Write((TimeSpan)m_RechargeTime);
            writer.Write((bool)m_SpawnStarted);
            writer.Write((bool)m_UseRitual);
            writer.Write((int)m_WalkingRange);
            writer.Write((bool)m_WaveStarted);

            writer.Write(m_CreaturesName.Count);
            for (int i = 0; i < m_CreaturesName.Count; ++i)
                writer.Write((string)m_CreaturesName[i]);

            writer.Write(m_Creatures.Count);
            for (int i = 0; i < m_Creatures.Count; ++i)
            {
                object o = m_Creatures[i];

                if (o is Item)
                    writer.Write((Item)o);
                else if (o is Mobile)
                    writer.Write((Mobile)o);
                else
                    writer.Write(Serial.MinusOne);
            }

            // Hack to save the progression level info
            writer.Write((int)m_Levels.Count);
            foreach (ProgressionLevel l in m_Levels)
            {
                l.Save(writer);
            }

            if (m_RecupeTimer != null)
                m_RecupeTimer.Save(writer);
            else
            {
                m_RecupeTimer = new RecupeTimer(TimeSpan.FromSeconds(0.0), this);
                m_RecupeTimer.Save(writer);
            }

            if (m_TimeLimit != null)
                m_TimeLimit.Save(writer);
            else
            {
                m_TimeLimit = new LimitTimer(TimeSpan.FromSeconds(0.0), this);
                m_TimeLimit.Save(writer);
            }
        }