コード例 #1
0
    void OnDelGetableMission(UIMissionMgr.GetableMisView getableView)
    {
        if (getableView == null)
        {
            return;
        }
        //Remove MissionLabel
        List <PeMap.ILabel> RemoveList = PeMap.LabelMgr.Instance.FindAll(itr => RemoveGetableLabel(getableView.mMissionID, itr));

        foreach (PeMap.ILabel _ilabel in RemoveList)
        {
            PeMap.LabelMgr.Instance.Remove(_ilabel);
        }
        RemoveList.Clear();
    }
コード例 #2
0
    void OnAddGetableMission(UIMissionMgr.GetableMisView getableView)
    {
        if (getableView == null)
        {
            return;
        }
        if (getableView.mPosition != Vector3.zero)
        {
            // Add MisEnd Label
            MissionLabel label = new MissionLabel(getableView.mMissionID,
                                                  MissionLabelType.misLb_unActive,
                                                  getableView.mPosition,
                                                  getableView.mMissionTitle,
                                                  -1f,
                                                  false,
                                                  getableView.mAttachOnId);

            PeMap.LabelMgr.Instance.Add(label);
        }
    }
コード例 #3
0
    public void AddMission(Pathea.PeEntity npc)
    {
        if (!Pathea.PeGameMgr.IsMulti)
        {
            return;
        }
        NpcMissionData missionData = Pathea.PeEntityExt.PeEntityExt.GetUserData(npc) as NpcMissionData;

        if (missionData == null)
        {
            return;
        }

        MissionCommonData mcd;

        if (npc.proto == Pathea.EEntityProto.Npc)
        {
            foreach (var item in missionData.m_MissionList)
            {
                if (!m_GetableMissonMap.ContainsKey(item))
                {
                    continue;
                }
                ;

                mcd = MissionManager.GetMissionCommonData(item);
                if (mcd == null)
                {
                    continue;
                }

                UIMissionMgr.GetableMisView gmv = new UIMissionMgr.GetableMisView(item, mcd.m_MissionName, npc.position, npc.Id);
                gmv.TargetNpcInfo.mName      = npc.enityInfoCmpt.characterName.fullName;
                gmv.TargetNpcInfo.mNpcIcoStr = string.IsNullOrEmpty(npc.enityInfoCmpt.faceIconBig) ? "npc_big_Unknown" : npc.enityInfoCmpt.faceIconBig;
                UIMissionMgr.Instance.AddGetableMission(gmv, true);
            }
            foreach (var item in missionData.m_MissionListReply)
            {
                if (!m_MissonMap.ContainsKey(item))
                {
                    continue;
                }

                mcd = MissionManager.GetMissionCommonData(item);
                if (mcd == null)
                {
                    continue;
                }

                Dictionary <string, string> missionFlagType = MissionManager.Instance.m_PlayerMission.GetMissionFlagType(item);
                if (missionFlagType == null)
                {
                    continue;
                }

                UIMissionMgr.MissionView mv = new UIMissionMgr.MissionView();
                mv.mMissionID    = mcd.m_ID;
                mv.mMissionType  = mcd.m_Type;
                mv.mMissionTitle = mcd.m_MissionName;
                npc = Pathea.EntityMgr.Instance.Get(mcd.m_iNpc);
                if (npc != null)
                {
                    mv.mMissionStartNpc.mName      = npc.enityInfoCmpt.characterName.fullName;
                    mv.mMissionStartNpc.mNpcIcoStr = string.IsNullOrEmpty(npc.enityInfoCmpt.faceIconBig) ? "npc_big_Unknown" : npc.enityInfoCmpt.faceIconBig;
                }

                npc = Pathea.EntityMgr.Instance.Get(mcd.m_iReplyNpc);
                if (npc != null)
                {
                    mv.mMissionEndNpc.mName      = npc.enityInfoCmpt.characterName.fullName;
                    mv.mMissionEndNpc.mNpcIcoStr = string.IsNullOrEmpty(npc.enityInfoCmpt.faceIconBig) ? "npc_big_Unknown" : npc.enityInfoCmpt.faceIconBig;
                    mv.mEndMisPos  = npc.position;
                    mv.mAttachOnId = npc.Id;
                    mv.NeedArrow   = true;
                }
                MissionManager.Instance.ParseMissionFlag(mcd, missionFlagType, mv);
                UIMissionMgr.Instance.AddMission(mv, true);
                UIMissionMgr.Instance.RefalshMissionWnd();
            }
        }
        else if (npc.proto == Pathea.EEntityProto.RandomNpc && Pathea.PeGameMgr.IsStory)
        {
            if (missionData.m_RandomMission != 0)
            {
                mcd = MissionManager.GetMissionCommonData(missionData.m_RandomMission);
                if (mcd != null)
                {
                    if (m_GetableMissonMap.ContainsKey(missionData.m_RandomMission))
                    {
                        UIMissionMgr.GetableMisView gmv = new UIMissionMgr.GetableMisView(missionData.m_RandomMission, mcd.m_MissionName, npc.position, npc.Id);
                        gmv.TargetNpcInfo.mName      = npc.enityInfoCmpt.characterName.fullName;
                        gmv.TargetNpcInfo.mNpcIcoStr = string.IsNullOrEmpty(npc.enityInfoCmpt.faceIconBig) ? "npc_big_Unknown" : npc.enityInfoCmpt.faceIconBig;
                        UIMissionMgr.Instance.AddGetableMission(gmv, true);
                    }
                    if (m_MissonMap.ContainsKey(missionData.m_RandomMission))
                    {
                        Dictionary <string, string> missionFlagType = MissionManager.Instance.m_PlayerMission.GetMissionFlagType(missionData.m_RandomMission);
                        if (missionFlagType != null)
                        {
                            UIMissionMgr.MissionView mv = new UIMissionMgr.MissionView();
                            mv.mMissionID    = mcd.m_ID;
                            mv.mMissionType  = mcd.m_Type;
                            mv.mMissionTitle = mcd.m_MissionName;
                            npc = Pathea.EntityMgr.Instance.Get(mcd.m_iNpc);
                            if (npc != null)
                            {
                                mv.mMissionStartNpc.mName      = npc.enityInfoCmpt.characterName.fullName;
                                mv.mMissionStartNpc.mNpcIcoStr = string.IsNullOrEmpty(npc.enityInfoCmpt.faceIconBig) ? "npc_big_Unknown" : npc.enityInfoCmpt.faceIconBig;
                            }

                            npc = Pathea.EntityMgr.Instance.Get(mcd.m_iReplyNpc);
                            if (npc != null)
                            {
                                mv.mMissionEndNpc.mName      = npc.enityInfoCmpt.characterName.fullName;
                                mv.mMissionEndNpc.mNpcIcoStr = string.IsNullOrEmpty(npc.enityInfoCmpt.faceIconBig) ? "npc_big_Unknown" : npc.enityInfoCmpt.faceIconBig;
                                mv.mEndMisPos  = npc.position;
                                mv.mAttachOnId = npc.Id;
                                mv.NeedArrow   = true;
                            }
                            MissionManager.Instance.ParseMissionFlag(mcd, missionFlagType, mv);
                            UIMissionMgr.Instance.AddMission(mv, true);
                            UIMissionMgr.Instance.RefalshMissionWnd();
                        }
                    }
                }
            }
        }
    }