Exemple #1
0
    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);
    }
Exemple #2
0
    /// <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);
    }