/// <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); }
//////////////////////////////////////////////////////////// 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(); }