示例#1
0
 public MLQuestContext(PlayerMobile owner)
 {
     Owner          = owner;
     QuestInstances = new List <MLQuestInstance>();
     m_DoneQuests   = new List <MLDoneQuestInfo>();
     ChainOffers    = new List <MLQuest>();
     m_Flags        = MLQuestFlag.None;
 }
示例#2
0
 public void SetFlag(MLQuestFlag flag, bool value)
 {
     if (value)
     {
         m_Flags |= flag;
     }
     else
     {
         m_Flags &= ~flag;
     }
 }
示例#3
0
        public MLQuestContext(IGenericReader reader, int version)
        {
            Owner          = reader.ReadMobile <PlayerMobile>();
            QuestInstances = new List <MLQuestInstance>();
            m_DoneQuests   = new List <MLDoneQuestInfo>();
            ChainOffers    = new List <MLQuest>();

            int instances = reader.ReadInt();

            for (int i = 0; i < instances; ++i)
            {
                MLQuestInstance instance = MLQuestInstance.Deserialize(reader, version, Owner);

                if (instance != null)
                {
                    QuestInstances.Add(instance);
                }
            }

            int doneQuests = reader.ReadInt();

            for (int i = 0; i < doneQuests; ++i)
            {
                MLDoneQuestInfo info = MLDoneQuestInfo.Deserialize(reader, version);

                if (info != null)
                {
                    m_DoneQuests.Add(info);
                }
            }

            int chainOffers = reader.ReadInt();

            for (int i = 0; i < chainOffers; ++i)
            {
                MLQuest quest = MLQuestSystem.ReadQuestRef(reader);

                if (quest?.IsChainTriggered == true)
                {
                    ChainOffers.Add(quest);
                }
            }

            m_Flags = (MLQuestFlag)reader.ReadEncodedInt();
        }
示例#4
0
 public bool GetFlag(MLQuestFlag flag)
 {
     return((m_Flags & flag) != 0);
 }
示例#5
0
		public void SetFlag( MLQuestFlag flag, bool value )
		{
			if ( value )
				m_Flags |= flag;
			else
				m_Flags &= ~flag;
		}
示例#6
0
		public bool GetFlag( MLQuestFlag flag )
		{
			return ( ( m_Flags & flag ) != 0 );
		}
示例#7
0
		public MLQuestContext( GenericReader reader, int version )
		{
			m_Owner = reader.ReadMobile<PlayerMobile>();
			m_QuestInstances = new List<MLQuestInstance>();
			m_DoneQuests = new List<MLDoneQuestInfo>();
			m_ChainOffers = new List<MLQuest>();

			int instances = reader.ReadInt();

			for ( int i = 0; i < instances; ++i )
			{
				MLQuestInstance instance = MLQuestInstance.Deserialize( reader, version, m_Owner );

				if ( instance != null )
					m_QuestInstances.Add( instance );
			}

			int doneQuests = reader.ReadInt();

			for ( int i = 0; i < doneQuests; ++i )
			{
				MLDoneQuestInfo info = MLDoneQuestInfo.Deserialize( reader, version );

				if ( info != null )
					m_DoneQuests.Add( info );
			}

			int chainOffers = reader.ReadInt();

			for ( int i = 0; i < chainOffers; ++i )
			{
				MLQuest quest = MLQuestSystem.ReadQuestRef( reader );

				if ( quest != null && quest.IsChainTriggered )
					m_ChainOffers.Add( quest );
			}

			m_Flags = (MLQuestFlag)reader.ReadEncodedInt();
		}
示例#8
0
		public MLQuestContext( PlayerMobile owner )
		{
			m_Owner = owner;
			m_QuestInstances = new List<MLQuestInstance>();
			m_DoneQuests = new List<MLDoneQuestInfo>();
			m_ChainOffers = new List<MLQuest>();
			m_Flags = MLQuestFlag.None;
		}