public void OnMutexBtnClick(int missionId) { ActiveWnd(); if (missionId == -3)//npcstorage { if (null == m_CurSelNpc) { Debug.LogError("open storage, but npc is null"); } NpcStorage storage = null; if (GameConfig.IsMultiMode) { storage = NpcStorageMgr.GetStorage(m_Player.Id); } else { storage = NpcStorageMgr.GetSinglePlayerStorage(); } if (null == storage) { Debug.LogError(m_CurSelNpc + " is has no storage."); } //storage.Open(m_CurSelNpc); Hide(); } if (missionId == -1) // shop { NpcMissionData userdata = m_CurSelNpc.GetUserData() as NpcMissionData; if (userdata == null) { return; } int npcid = 0; if (PeGameMgr.IsStory) { npcid = m_CurSelNpc.Id; } else { if (userdata.m_bRandomNpc) { npcid = userdata.m_Rnpc_ID; } else { npcid = m_CurSelNpc.Id; } } if (!GameConfig.IsMultiMode) { if (GameUI.Instance.mShopWnd.UpdataShop(StoreRepository.GetNpcStoreData(npcid))) { GameUI.Instance.mShopWnd.Show(); } } else { // to do-- send msg to server //m_CurSelNpc.mNpcId for npc, npcid for store // if (!userdata.m_bRandomNpc) // { // Debug.Log("nr==null"); // return; // } //m_Player.GetShop(m_CurSelNpc.Id, userdata.m_Rnpc_ID); if (null != PlayerNetwork.mainPlayer) { PlayerNetwork.mainPlayer.RequestShopData(m_CurSelNpc.Id); } } } else if (missionId == -2) { OnClose(); } else { if (m_MissionList.Contains(missionId)) { if (!MissionManager.Instance.CheckCSCreatorMis(missionId)) { return; } if (!MissionManager.Instance.CheckHeroMis()) { return; } if (MissionManager.Instance.IsTempLimit(missionId)) { if (GameUI.Instance.mNPCTalk.isPlayingTalk == false) { GameUI.Instance.mNPCTalk.UpdateNpcTalkInfo(new List <int> { 4080 }); GameUI.Instance.mNPCTalk.PreShow(); } else { GameUI.Instance.mNPCTalk.UpdateNpcTalkInfo(new List <int> { 4080 }, null, false); } Hide(); return; } BtnClickMission = missionId; if (MissionRepository.HaveTalkOP(missionId)) { Hide(); GameUI.Instance.mNPCTalk.UpdateNpcTalkInfo(missionId, 1); GameUI.Instance.mNPCTalk.NormalOrSP(0); GameUI.Instance.mNPCTalk.PreShow(); } else { MissionManager.Instance.SetGetTakeMission(missionId, m_CurSelNpc, MissionManager.TakeMissionType.TakeMissionType_Get); Hide(); } BtnClickMission = 0; } else if (m_MissionListReply.Contains(missionId)) { if (MissionManager.Instance.IsReplyMission(missionId)) { if (PeGameMgr.IsMulti) { MissionManager.Instance.RequestCompleteMission(missionId); } else { MissionManager.Instance.CompleteMission(missionId); UpdateMission(); } } else { if (MissionRepository.HaveTalkIN(missionId)) { Hide(); GameUI.Instance.mNPCTalk.UpdateNpcTalkInfo(missionId, 2); GameUI.Instance.mNPCTalk.PreShow(); } } } } }
void OnControlModeChange(PeCamera.ControlMode mode) { UIMissionMgr.MissionView missview = UIMissionMgr.Instance.GetMissionView(TrainingRoomConfig.ChangeControlModeID); if (missview == null) { MissionManager.Instance.CompleteMission(TrainingRoomConfig.ChangeControlModeID); PeCamera.onControlModeChange -= OnControlModeChange; } UIMissionMgr.TargetShow tarshow; switch (mode) { case PeCamera.ControlMode.MMOControl: tarshow = missview.mTargetList.Find(ite => UIMissionMgr.MissionView.MatchID(ite, 4114)); if (tarshow != null) { tarshow.mComplete = true; } completeCount++; if (MissionRepository.HaveTalkOP(722)) { GameUI.Instance.mNPCTalk.NormalOrSP(0); GameUI.Instance.mNPCTalk.UpdateNpcTalkInfo(722, 1); GameUI.Instance.mNPCTalk.PreShow(); } else if (MissionManager.Instance.IsGetTakeMission(722)) { MissionManager.Instance.SetGetTakeMission(722, null, MissionManager.TakeMissionType.TakeMissionType_Get); } break; case PeCamera.ControlMode.FirstPerson: tarshow = missview.mTargetList.Find(ite => UIMissionMgr.MissionView.MatchID(ite, 4115)); if (tarshow != null) { tarshow.mComplete = true; } completeCount++; if (MissionRepository.HaveTalkOP(723)) { GameUI.Instance.mNPCTalk.NormalOrSP(0); GameUI.Instance.mNPCTalk.UpdateNpcTalkInfo(723, 1); GameUI.Instance.mNPCTalk.PreShow(); } else if (MissionManager.Instance.IsGetTakeMission(723)) { MissionManager.Instance.SetGetTakeMission(723, null, MissionManager.TakeMissionType.TakeMissionType_Get); } break; default: break; } if (completeCount > 1) { TrainingTaskManager.Instance.CompleteMission(); PeCamera.onControlModeChange -= OnControlModeChange; } }