/// <summary> /// Npc对话查询 UI /// </summary> public static void GUINpcTalkFind(TextInfoService textInfoService, long npcId, TextTalkTypeEnum talkType, Dictionary <long, List <TextInfoBean> > mapNpcTalkInfoForFind, out TextTalkTypeEnum outTalkType) { GUILayout.BeginHorizontal(); GUILayout.Label("NpcID:" + npcId, GUILayout.Width(120)); bool isFind = false; if (GUILayout.Button("查询普通对话", GUILayout.Width(120), GUILayout.Height(20))) { isFind = true; talkType = TextTalkTypeEnum.Normal; } if (GUILayout.Button("查询第一次对话", GUILayout.Width(120), GUILayout.Height(20))) { isFind = true; talkType = TextTalkTypeEnum.First; } if (GUILayout.Button("查询招募对话", GUILayout.Width(120), GUILayout.Height(20))) { isFind = true; talkType = TextTalkTypeEnum.Recruit; } if (GUILayout.Button("查询礼物对话", GUILayout.Width(120), GUILayout.Height(20))) { isFind = true; talkType = TextTalkTypeEnum.Gift; } if (GUILayout.Button("查询后续事件对话", GUILayout.Width(120), GUILayout.Height(20))) { isFind = true; talkType = TextTalkTypeEnum.Subsequent; } if (GUILayout.Button("查询捣乱事件对话", GUILayout.Width(120), GUILayout.Height(20))) { isFind = true; talkType = TextTalkTypeEnum.Rascal; } if (GUILayout.Button("查询杂项事件对话", GUILayout.Width(120), GUILayout.Height(20))) { isFind = true; talkType = TextTalkTypeEnum.Sundry; } if (GUILayout.Button("查询喊话", GUILayout.Width(120), GUILayout.Height(20))) { isFind = true; talkType = TextTalkTypeEnum.Shout; } if (GUILayout.Button("查询交换对话", GUILayout.Width(120), GUILayout.Height(20))) { isFind = true; talkType = TextTalkTypeEnum.Exchange; } if (isFind) { List <TextInfoBean> listNpcTalkInfo = textInfoService.QueryDataByTalkType(TextEnum.Talk, talkType, npcId); HandleTalkInfoDataByMarkId(listNpcTalkInfo, mapNpcTalkInfoForFind); } GUILayout.EndHorizontal(); outTalkType = talkType; if (mapNpcTalkInfoForFind == null) { return; } long deleteMarkId = 0; foreach (var mapItemTalkInfo in mapNpcTalkInfoForFind) { long markId = mapItemTalkInfo.Key; List <TextInfoBean> listTextData = mapItemTalkInfo.Value; if (GUILayout.Button("删除markId下所有对话", GUILayout.Width(150), GUILayout.Height(20))) { textInfoService.DeleteDataByMarkId(TextEnum.Talk, markId); deleteMarkId = markId; } GUINpcTextInfoItemForMarkId(textInfoService, npcId, talkType, markId, listTextData, out listTextData); } if (deleteMarkId != 0) { mapNpcTalkInfoForFind.Remove(deleteMarkId); deleteMarkId = 0; } }
public List <TextInfoBean> GetTextForTalkByType(long userId, TextTalkTypeEnum textTalkType) { return(mTextInfoService.QueryDataByTalkType(TextEnum.Talk, textTalkType, userId)); }