/// <summary> /// 移除特效 /// </summary> /// <param name="nTaskID"></param> void DeleteEffectByTaskID(uint nTaskID) { table.QuestDataBase questDB = GameTableManager.Instance.GetTableItem <table.QuestDataBase>(nTaskID); if (questDB == null) { return; } Client.IEntitySystem es = Client.ClientGlobal.Instance().GetEntitySystem(); if (es == null) { Engine.Utility.Log.Error("实体系统为null"); return; } Client.INPC npc = es.FindNPCByBaseId((int)questDB.dwEndNpc); DeleteEffectByNpc(npc); }
void SetNpcTipsByTraceInfo(QuestTraceInfo questInfo) { Client.IEntitySystem es = Client.ClientGlobal.Instance().GetEntitySystem(); if (es == null) { Engine.Utility.Log.Error("实体系统为null"); return; } GameCmd.TaskProcess process = questInfo.GetTaskProcess(); uint npcid = 0; uint effectID = 0; if (process == GameCmd.TaskProcess.TaskProcess_None)//可接 { npcid = questInfo.beginNpc; effectID = EFFECT_CANACCEPT; } else if (process == GameCmd.TaskProcess.TaskProcess_CanDone) { npcid = questInfo.endNpc; effectID = EFFECT_CANCOMMIT; } else if (process == GameCmd.TaskProcess.TaskProcess_Doing) { npcid = questInfo.endNpc; effectID = EFFECT_DOING; } Client.INPC npc = es.FindNPCByBaseId((int)npcid); if (npc == null) { Engine.Utility.Log.Info("查找不到npc{0}", npcid); return; } AddNpcTip(npc, effectID, questInfo.taskId, process); }