Beispiel #1
0
    bool CheckAddMissionReplyID(int id)
    {
        MissionCommonData data = MissionManager.GetMissionCommonData(id);

        if (data == null)
        {
            return(false);
        }

        if (id == 9137 || id == 9138)
        {
            if (data.m_iReplyNpc != m_CurSelNpc.Id)
            {
                return(false);
            }
        }

        //如果不是谈话任务,那么未接取或已完成的不能交
        if (!data.IsTalkMission())
        {
            if (!MissionManager.Instance.HasMission(id) || MissionManager.Instance.HadCompleteMission(id))
            {
                return(false);
            }
        }

        if (MissionRepository.IsAutoReplyMission(id))
        {
            return(false);
        }

        if (MissionRepository.GetMissionNpcListName(id, true) == "")
        {
            if (PeGameMgr.IsMulti)
            {
                MissionManager.Instance.RequestCompleteMission(id);
            }
            else
            {
                MissionManager.Instance.CompleteMission(id);
                MissionCommonData mcd = MissionManager.GetMissionCommonData(id);
                if (mcd != null && mcd.m_Type != 0)
                {
                    canShow = false;
                }
            }
            return(false);
        }

        return(true);
    }