Ejemplo n.º 1
0
        public static void Deserialize(GenericReader reader, int version)
        {
            MLQuest quest      = MLQuestSystem.ReadQuestRef(reader);
            int     oldVersion = reader.ReadInt();

            if (quest == null)
            {
                return; // not saved or no longer exists
            }
            quest.Refresh(oldVersion);
            quest.m_Deserialized = true;
        }
Ejemplo n.º 2
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();
        }