Esempio n. 1
0
    /// <summary>
    /// 为采集物添加特效
    /// </summary>
    /// <param name="npcEntity">npc</param>
    void AddEntityEffect(Client.stCreateEntity npcEntity)
    {
        QuestDataBase questDb = GameTableManager.Instance.GetTableItem <QuestDataBase>(DoingTaskID);

        if (questDb == null)
        {
            return;
        }

        if (questDb.dwSubType != (uint)TaskSubType.Collection)
        {
            return;
        }

        IEntitySystem es = ClientGlobal.Instance().GetEntitySystem();

        if (es == null)
        {
            return;
        }

        IEntity npc = es.FindEntity(npcEntity.uid);

        if (npc == null)
        {
            return;
        }

        //List<QuestTraceInfo> traceTask;
        //GetAllQuestTraceInfo(out traceTask, null);
        //if (traceTask == null)
        //{
        //    return;
        //}

        ////正在采集为   要加特效
        //QuestTraceInfo questTraceInfo = traceTask.Find((data) => { return data.taskId == DoingTaskID && data.taskSubType == TaskSubType.Collection; });

        //if (questTraceInfo == null)
        //{
        //    RemoveCollectNpcEffectAndCleanDataByNpcId(npc.GetID());
        //    return;
        //}

        uint npcBaseId = (uint)npc.GetProp((int)EntityProp.BaseID);

        if (questDb.collect_npc != npcBaseId)
        {
            RemoveCollectNpcEffectAndCleanDataByNpcId(npc.GetID());
            return;
        }

        AddCollectNpcEffect(npc.GetID(), 9002);
        AddCollectNpcEffect(npc.GetID(), 9003);
    }
Esempio n. 2
0
    ////////////////////////////////////////////////////////////

    void LoadQuestData()
    {
        try
        {
            FileStream streamQuest = File.Open(Application.dataPath + "/SaveData/quest_data.xml", FileMode.Open);
            questDB = (QuestDataBase)serializerQuest.Deserialize(streamQuest);
            streamQuest.Close();

            //add from database to list
            foreach (QuestEntry quest in questDB.list)
            {
                if (quest.currentStage <= -1 || quest.questGiverID == "null")
                {
                    continue;
                }
                questList.Add(new Quest(quest.name, quest.questGiverID, quest.currentStage, quest.questConditions, quest.rewardDialogueID));
            }
        }
        catch
        {
            //data cannot be opened
            Debug.Log("Error: Loading quest failed");
        }
    }
 // Use this for initialization
 void Awake()
 {
     dataBase = this;
     objective.SetActive(false);
     initialization();
 }