public Client.INPC GetNPCByTraceInfo(QuestTraceInfo questInfo) { if (null == questInfo) { return(null); } Client.IEntitySystem es = Client.ClientGlobal.Instance().GetEntitySystem(); if (es == null) { Engine.Utility.Log.Error("实体系统为null"); return(null); } GameCmd.TaskProcess process = questInfo.GetTaskProcess(); uint npcid = 0; uint effectID = 0; if (process == GameCmd.TaskProcess.TaskProcess_None)//可接 { npcid = questInfo.beginNpc; } else if (process == GameCmd.TaskProcess.TaskProcess_CanDone) { npcid = questInfo.endNpc; } else if (process == GameCmd.TaskProcess.TaskProcess_Doing) { npcid = questInfo.endNpc; } Client.INPC npc = es.FindNPCByBaseId((int)npcid); return(npc); }
/// <summary> /// 为采集物添加特效 /// </summary> /// <param name="taskInfo"></param> void AddCollectNpcEffect(QuestTraceInfo taskInfo) { if (taskInfo.taskSubType != TaskSubType.Collection) { return; } Client.IEntitySystem es = Client.ClientGlobal.Instance().GetEntitySystem(); if (es == null) { return; } Client.INPC npc = es.FindNPCByBaseId((int)taskInfo.QuestTable.collect_npc); if (npc == null) { return; } DataManager.Manager <TaskDataManager>().AddCollectNpcEffect(npc.GetID(), 9002); DataManager.Manager <TaskDataManager>().AddCollectNpcEffect(npc.GetID(), 9003); }