public void InitAdoration() { ResetUIRideGridAdoration(); ResetAdoration(); m_label_transExpNormal.text = string.Format(LangTalkData.GetTextById(60001), GameTableManager.Instance.GetGlobalConfig <int>("PassOnRateRide", ((int)TransExpType.Normal * 10).ToString())); m_label_transExpPerfect.text = string.Format(LangTalkData.GetTextById(60001), GameTableManager.Instance.GetGlobalConfig <int>("PassOnRateRide", ((int)TransExpType.Perfect * 10).ToString())); }
public void OnTalkData(LangTalkData langtalkdata, string strStep) { if (langtalkdata == null) { return; } if (langtalkdata.npcType == LangTalkData.NpcType.MissionTalk) { DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.NpcDialogPanel, data: langtalkdata); } //if (langtalkdata.npcType == LangTalkData.NpcType.CityWarOnly) //{ // DataManager.Manager<UIPanelManager>().ShowPanel(PanelID.NpcDialogPanel, data: langtalkdata); //} else if (langtalkdata.npcType == LangTalkData.NpcType.TalkOnly) { DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.NpcDialogPanel, data: langtalkdata); } else if (langtalkdata.npcType == LangTalkData.NpcType.MissionNoTalk) { DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.MissionMessagePanel, data: langtalkdata); } else if (langtalkdata.npcType == LangTalkData.NpcType.TransferNpc) { DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.NpcDeliverPanel, data: langtalkdata); } else if (langtalkdata.npcType == LangTalkData.NpcType.Transmit) { NetService.Instance.Send(new GameCmd.stDialogSelectScriptUserCmd_C() { step = strStep, dwChose = 1, }); DataManager.Manager <UIPanelManager>().ShowLoading(); Client.IControllerSystem cs = Client.ClientGlobal.Instance().GetControllerSystem(); if (cs == null) { Engine.Utility.Log.Error("ExecuteCmd: ControllerSystem is null"); return; } if (cs.GetCombatRobot().Status != Client.CombatRobotStatus.STOP) { cs.GetCombatRobot().Stop(); } } else if (langtalkdata.npcType == LangTalkData.NpcType.MissionAutoReceive) { NetService.Instance.Send(new GameCmd.stDialogSelectScriptUserCmd_C() { step = strStep, dwChose = 1, }); } }
protected override void OnShow(object data) { base.OnShow(data); m_lstTransfers.Clear(); m_lst_TabType.Clear(); if (data is LangTalkData) { isNpcTransfer = true; m_label_name.text = "驿站车夫"; m_langTalkData = (LangTalkData)data; for (int i = 0; i < m_langTalkData.buttons.Count; i++) { uint id = 0; uint sortID = 0; if (uint.TryParse(m_langTalkData.buttons[i].strBtnName, out id)) { TransferDatabase transf = GameTableManager.Instance.GetTableItem <TransferDatabase>(id); if (transf != null) { if (!m_lst_TabType.Contains(transf.type)) { m_lst_TabType.Add(transf.type); } sortID = transf.sortID; } m_lstTransfers.Add(new TransferData() { btnIndex = m_langTalkData.buttons[i].nindex, tabID = id, isNpc = true, step = m_langTalkData.strStep, sortID = transf.sortID, }); } } if (m_lstTransfers != null) { m_lstTransfers.Sort(); } } else { isNpcTransfer = false; m_label_name.text = "世界地图"; for (int i = 0; i < lstTransmis.Count; i++) { if (!m_lst_TabType.Contains(lstTransmis[i].type)) { m_lst_TabType.Add(lstTransmis[i].type); } } StructDatas(); } InitGrid(); }
public void Excute(stTalkDataScriptUserCmd_S cmd) { LangTalkData langtalkdata = LangTalkData.GetDataByCmd(cmd); if (langtalkdata == null) { Engine.Utility.Log.Error("对话id{0} 有问题", cmd.txt_id); } DataManager.Manager <TaskDataManager>().OnTalkData(langtalkdata, cmd.step); }
protected override void OnShow(object data) { base.OnShow(data); if (data is LangTalkData) { this.m_dialogInfo = data as LangTalkData; if (this.m_dialogInfo == null) { return; } m_btn_btn_jump.gameObject.SetActive(m_dialogInfo.npcType != LangTalkData.NpcType.TalkOnly); m_nindex = 0; ShowTalkStr(m_nindex); ShowBtns(); } }
protected override void OnShow(object data) { base.OnShow(data); if (data is LangTalkData) { LangTalkData currDialogData = (LangTalkData)data; m_nTaskid = currDialogData.nTaskId; m_strStep = currDialogData.strStep; ShowUI(); } else if (data is uint) { m_nTaskid = (uint)data; ShowUI(); } }
protected override void OnShow(object data) { base.OnShow(data); if (data is LangTalkData) { m_LangTalkData = data as LangTalkData; m_trans_BtnRoot.transform.DestroyChildren(); m_trans_BtnRoot.transform.parent.GetComponent <UIScrollView>().ResetPosition(); table.NpcDataBase npcdb = GameTableManager.Instance.GetTableItem <table.NpcDataBase>(m_LangTalkData.nNpcId); if (npcdb != null) { m_label_Npc_Name.text = npcdb.strName; } m_UIXmlRichText.Clear(); if (m_LangTalkData.lstTalks.Count > 0) { m_UIXmlRichText.AddXml(RichXmlHelper.RichXmlAdapt(m_LangTalkData.lstTalks[0].strText)); } for (int i = 0; i < m_LangTalkData.buttons.Count; i++) { GameObject go = NGUITools.AddChild(m_trans_BtnRoot.gameObject, m_btn_btn.gameObject); if (go != null) { go.GetComponentInChildren <UILabel>().text = m_LangTalkData.buttons[i].strBtnName; go.name = string.Format("btn_{0}", i); UIEventListener.Get(go).onClick = onClick_Btn_Btn; go.transform.localPosition = new UnityEngine.Vector3(0, -i * 58, 0); go.SetActive(true); } } } }
/// <summary> /// 更新动态任务追踪 /// </summary> public void UpdateTaskTrace(uint nTaskID, uint nTextID, List <string> lstParams) { QuestTraceInfo quest = QuestTranceManager.Instance.GetQuestTraceInfo(nTaskID); if (quest != null) { string strDesc = LangTalkData.GetTextById(nTextID); strDesc = strDesc.Replace("\n", ""); if (quest.taskSubType == TaskSubType.DeliverItem) { if (lstParams.Count > (int)GameCmd.RandomParamType.SubmitItemID - 1) { quest.QuestTable.usecommitItemID = uint.Parse(lstParams[(int)GameCmd.RandomParamType.SubmitItemID - 1]); table.QuestItemDataBase questItemDb = GameTableManager.Instance.GetTableItem <table.QuestItemDataBase>(quest.QuestTable.usecommitItemID); if (questItemDb != null && questItemDb.dwSubType == (uint)TaskSubType.DeliverItem) { quest.QuestTable.destMapID = questItemDb.destMapID; quest.QuestTable.monster_npc = questItemDb.monster_npc; quest.QuestTable.dwDoingNpc = questItemDb.monster_npc; } } } else if (quest.taskSubType == TaskSubType.UseItem) { if (lstParams.Count > (int)GameCmd.RandomParamType.UseItemID - 1) { quest.QuestTable.usecommitItemID = uint.Parse(lstParams[(int)GameCmd.RandomParamType.UseItemID - 1]); } quest.QuestTable.destMapID = uint.Parse(lstParams[(int)GameCmd.RandomParamType.JumpMap - 1]); } else if (quest.taskSubType == TaskSubType.KillMonster /*|| quest.taskSubType == TaskSubType.KillMonsterCollect */ || quest.taskSubType == TaskSubType.CallMonster) { if (lstParams.Count > (int)GameCmd.RandomParamType.KillNpcMap - 1) { quest.QuestTable.destMapID = uint.Parse(lstParams[(int)GameCmd.RandomParamType.KillNpcMap - 1]); } if (lstParams.Count > (int)GameCmd.RandomParamType.KillNpcID - 1) { quest.QuestTable.monster_npc = uint.Parse(lstParams[(int)GameCmd.RandomParamType.KillNpcID - 1]); } } else if (quest.taskSubType == TaskSubType.KillMonsterCollect) { if (quest.taskType == TaskType.TaskType_Loop) { quest.QuestTable.destMapID = uint.Parse(lstParams[(int)GameCmd.RandomParamType.JumpMap - 1]); quest.QuestTable.usecommitItemID = uint.Parse(lstParams[(int)GameCmd.RandomParamType.KillDropItemID - 1]); quest.QuestTable.monster_npc = uint.Parse(lstParams[(int)GameCmd.RandomParamType.KillDropNpcID - 1]); //uint.Parse(lstParams[(int)GameCmd.RandomParamType.KillDropNum - 1]); } else { if (lstParams.Count > (int)GameCmd.RandomParamType.KillNpcMap - 1) { quest.QuestTable.destMapID = uint.Parse(lstParams[(int)GameCmd.RandomParamType.KillNpcMap - 1]); } if (lstParams.Count > (int)GameCmd.RandomParamType.KillNpcID - 1) { quest.QuestTable.monster_npc = uint.Parse(lstParams[(int)GameCmd.RandomParamType.KillNpcID - 1]); } } } else if (quest.taskSubType == TaskSubType.Collection) { if (lstParams.Count > (int)GameCmd.RandomParamType.CollectNpcMap - 1) { quest.QuestTable.destMapID = uint.Parse(lstParams[(int)GameCmd.RandomParamType.CollectNpcMap - 1]); } if (lstParams.Count > (int)GameCmd.RandomParamType.CollectNpcID - 1) { quest.QuestTable.collect_npc = uint.Parse(lstParams[(int)GameCmd.RandomParamType.CollectNpcID - 1]); } //if (lstParams.Count>2) //{ // quest.QuestTable.coll //} } else if (quest.taskSubType == TaskSubType.Talk) { if (lstParams.Count > (int)GameCmd.RandomParamType.TalkNpcMap - 1) { quest.QuestTable.submitMapID = uint.Parse(lstParams[(int)GameCmd.RandomParamType.TalkNpcMap - 1]); } if (lstParams.Count > (int)GameCmd.RandomParamType.TalkNpcID - 1) { quest.QuestTable.dwEndNpc = uint.Parse(lstParams[(int)GameCmd.RandomParamType.TalkNpcID - 1]); } } quest.dynamicTranceUpdate = true; quest.QuestTable.strTaskTraceBegin = strDesc; quest.UpdateDesc(); if (DataManager.Manager <UIPanelManager>().IsShowPanel(PanelID.MissionAndTeamPanel)) { DataManager.Manager <UIPanelManager>().SendMsg(PanelID.MissionAndTeamPanel, UIMsgID.eUpdateTaskList, null); } if (FirstLoginSuccess) { if (!quest.QuestTable.dwAuto)//如果非自动 则不发送做任务消息 { return; } if (m_bReconnect) { m_bReconnect = false; return; } Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.TASK_DONING, new Client.stDoingTask() { taskid = quest.taskId, state = quest.state, oprate = quest.operate, desc = strDesc }); } } }
/// <summary> /// 发送消息 /// </summary> /// <param name="caster"></param> void onClick_Btn_send_Btn(GameObject caster) { //if (!string.IsNullOrEmpty(m_input_input.value)) { //string inputText = m_input_input.value; string inputText = string.IsNullOrEmpty(m_input_input.value) ? this.m_defaultText : m_input_input.value; //不打字就默认 “懂的来” uint leaderId = DataManager.Manager <TeamDataManager>().LeaderId; uint activityId = DataManager.Manager <TeamDataManager>().TeamActivityTargetId; string sendText = string.Empty; if (activityId != 0) { TeamActivityDatabase data = GameTableManager.Instance.GetTableItem <TeamActivityDatabase>(activityId); if (data != null) { string name = ClientGlobal.Instance().MainPlayer.GetName(); string strText = LangTalkData.GetTextById(20007); sendText = string.Format(strText, data.mainName, data.indexName, data.min, data.max, name, inputText, leaderId); } if (sendText == string.Empty) { TipsManager.Instance.ShowTips(LocalTextType.Team_Activity_qingxianxuanzehuodongmubiao);//请选择活动目标 } } if (DataManager.Manager <TeamDataManager>().MainPlayerIsMember() && sendText != string.Empty) { bool b = false; string channelName = ""; //氏族 if (GetSelectBtnIndex() == CHATTYPE.CHAT_CLAN) { channelName = DataManager.Manager <TextManager>().GetLocalText(LocalTextType.Local_TXT_TaskTitle_Clan);//氏族 bool IsJoinClan = DataManager.Manager <ClanManger>().IsJoinClan; if (IsJoinClan == false) { TipsManager.Instance.ShowTips("你还没有加入氏族");//你还没有加入氏族 return; } b = DataManager.Manager <ChatDataManager>().SendText(CHATTYPE.CHAT_CLAN, sendText); } //世界 else if (GetSelectBtnIndex() == CHATTYPE.CHAT_WORLD) { channelName = "世界"; //判断钱够不够 if (UserData.Coupon < DataManager.Manager <ChatDataManager>().ChatWorldCost) { TipsManager.Instance.ShowTipsById(4); return; } b = DataManager.Manager <ChatDataManager>().SendText(CHATTYPE.CHAT_WORLD, sendText); } //招募 else if (GetSelectBtnIndex() == CHATTYPE.CHAT_RECRUIT) { channelName = DataManager.Manager <TextManager>().GetLocalText(LocalTextType.Team_Recruit_zhaomu); b = DataManager.Manager <ChatDataManager>().SendText(CHATTYPE.CHAT_RECRUIT, sendText); } if (b) { m_input_input.value = ""; m_input_input.isSelected = false; //已经发送招募信息至{0} TipsManager.Instance.ShowLocalFormatTips(LocalTextType.Team_Recruit_zhaomuxinxifasongchenggong, channelName); HideSelf(); } } } m_input_input.Start(); }
public static LangTalkData GetDataByCmd(GameCmd.stTalkDataScriptUserCmd_S cmd) { table.LangTextDataBase langtextDb = GameTableManager.Instance.GetTableItem <table.LangTextDataBase>(cmd.txt_id); LangTalkData data = new LangTalkData(); data.strStep = cmd.step; if (langtextDb != null) { data.nTextID = langtextDb.dwID; uint npcId; if (GetNpcIdForDaliyRingTask(out npcId)) { data.nNpcId = npcId; } else { data.nNpcId = langtextDb.npcID; } data.npcType = (NpcType)langtextDb.npcType; data.nTaskId = langtextDb.taskID; if (!string.IsNullOrEmpty(langtextDb.talkVoice)) { string[] voices = langtextDb.talkVoice.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries); data.talkVoice = new uint[voices.Length]; for (int i = 0; i < voices.Length; i++) { data.talkVoice[i] = uint.Parse(voices[i]); } } for (int i = 0; i < cmd.buttons.Count; ++i) { table.LangTextDataBase btnDb = GameTableManager.Instance.GetTableItem <table.LangTextDataBase>(cmd.buttons[i]); if (btnDb != null) { LangTalkData.Button btn = new LangTalkData.Button(); btn.taskId = btnDb.taskID; btn.nindex = (uint)i + 1; btn.strBtnName = btnDb.strText; data.buttons.Add(btn); } } IEnumerable <XNode> nodes = XDocument.Parse("<root>" + langtextDb.strText + "</root>").Root.Nodes(); if (nodes != null) { foreach (var n in nodes) { var e = n as XElement; if (e != null) { switch (e.Name.ToString()) { case "talk": LangTalkData.Talk talk = new LangTalkData.Talk(); if (e.Attribute("type") != null) { var type = int.Parse(e.AttributeValue("type")); talk.bUser = type == 2; } if (e.Attribute("text") != null) { System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(); string text = e.AttributeValue("text"); string strColor = ""; bool starttoken = false; for (int i = 0; i < text.Length; i++) { if (starttoken) { if (text[i] == '0' || text[i] == '1' || text[i] == '2' || text[i] == '3' || text[i] == '4' || text[i] == '5' || text[i] == '6' || text[i] == '7' || text[i] == '8' || text[i] == '9' || text[i] == 'a' || text[i] == 'b' || text[i] == 'c' || text[i] == 'd' || text[i] == 'e' || text[i] == 'f' || text[i] == 'A' || text[i] == 'B' || text[i] == 'C' || text[i] == 'D' || text[i] == 'E' || text[i] == 'F' || text[i] == '-') { strColor += text[i]; } else if (text[i] == ']') { starttoken = false; strColor += ']'; if (strColor.Length == 8) { strColor = strColor.Replace("[", "<color value=\"#"); strColor = strColor.Replace("]", "\">"); stringBuilder.Append(strColor); } else if (strColor.Length == 3) { strColor = strColor.Replace("[-]", "</color>"); stringBuilder.Append(strColor); } else { stringBuilder.Append(strColor); } strColor = ""; } else { starttoken = false; strColor += text[i]; stringBuilder.Append(strColor); } } else if (text[i] == '[') { strColor = "["; starttoken = true; } else { starttoken = false; stringBuilder.Append(text[i]); } } talk.strText = stringBuilder.ToString(); } data.lstTalks.Add(talk); break; } continue; } } } } else { Engine.Utility.Log.Error("Not Found LangTextDataBase id {0}", cmd.txt_id); } return(data); }