public override void OnShow(object msg) { base.OnShow(msg); RefreshHotKeyState(false); MissionOpenMsgInfo data = (MissionOpenMsgInfo)msg; m_MissionVO = data.MissionVO; m_NpcTransform = data.NpcTransform; }
public bool OpenMissionPanel(ulong npcUid, Npc npcVO, Transform transform) { uint? talkId; MissionVO missionVO = null; MissionOpenMsgInfo info = new MissionOpenMsgInfo(); info.NpcTransform = transform; //检查是否有已完成可以交的任务 missionVO = GetCanSubmitMissionBy(npcVO.Id); if (missionVO != null) { info.MissionVO = missionVO; UIManager.Instance.OpenPanel(UIPanel.MissionDialogPanel, null, info); talkId = (uint)(missionVO.MissionMainConfig?.UnfinishedDialog ?? 0); OpenNpcChat(npcVO, transform, talkId.Value, npcVO.Id); return(true); } //检查是否有对话任务需要对话 talkId = GetTalkMissionTalkTidBy(npcVO.Id); if (talkId.HasValue) { OpenNpcChat(npcVO, transform, talkId.Value, npcVO.Id, true); #region //HACK gaoyu //这是一个临时需求 by 张子华 if (talkId.Value == 510109) { AssetManager.GetInstance().InstanceAssetAsync("Inter_ARJunk_S2Signal02", (address, uObj, userData) => { GameObject gObj = uObj as GameObject; gObj.transform.SetParent(transform, false); }); WwiseUtil.PlaySound(9010, false, transform); //李贺新 临时音效 修复什么东西的音效 } #endregion return(true); } //检查是否有可接任务 missionVO = GetAcceptTaskTidBy(npcVO.Id); if (missionVO != null) { info.MissionVO = missionVO; UIManager.Instance.OpenPanel(UIPanel.MissionDialogPanel, null, info); talkId = (uint)(missionVO.MissionMainConfig?.AcceptDialog ?? 0); OpenNpcChat(npcVO, transform, talkId.Value, npcVO.Id); return(true); } //找一个进行中的任务 missionVO = GetGoingMissionBy(npcVO.Id); if (missionVO != null) { talkId = (uint)(missionVO.MissionMainConfig?.UnfinishedDialog ?? 0); OpenNpcChat(npcVO, transform, talkId.Value, npcVO.Id); return(false); } return(false); }