private void InitChatEmoticonConfigCsv(string strPath) { ScpReader reader = new ScpReader(strPath, true, 2); for (int i = 0; i < reader.GetRecordCount(); i++) { SSchemeChatEmoticonData sConfig = new SSchemeChatEmoticonData(); sConfig.nEmoticonID = reader.GetInt(i, (int)EChatEmoticonConfig.EEmoticon_ID, 0); sConfig.nEmoticonSerialID = reader.GetInt(i, (int)EChatEmoticonConfig.EEmoticon_Serial, 0); sConfig.eEmoticonType = (EMChatEmoticonType)Enum.Parse(typeof(EMChatEmoticonType), reader.GetString(i, (int)EChatEmoticonConfig.EEmoticon_Type, "")); sConfig.szEmoticonKey = reader.GetString(i, (int)EChatEmoticonConfig.EEmoticon_Key, string.Empty); sConfig.szCharInput = reader.GetString(i, (int)EChatEmoticonConfig.EEmoticon_CharInput, string.Empty); sConfig.szTipDesc = reader.GetString(i, (int)EChatEmoticonConfig.EEmoticon_TipDesc, string.Empty); sConfig.nEmoticonSellID = reader.GetInt(i, (int)EChatEmoticonConfig.EEmoticon_SellID, 0); sConfig.nEmoticonSkillID = reader.GetInt(i, (int)EChatEmoticonConfig.EEmoticon_skillID, 0); if (m_dicChatEmoticonConfig.ContainsKey(sConfig.nEmoticonID)) { Trace.LogWarning("有相同的聊天表情ID" + sConfig.nEmoticonID + "表第" + i + "行"); } else { m_dicChatEmoticonConfig.Add(sConfig.nEmoticonID, sConfig); } if (!m_chatEmoticonSerialList.ContainsKey(sConfig.nEmoticonSerialID)) { m_chatEmoticonSerialList.Add(sConfig.nEmoticonSerialID, new List <SSchemeChatEmoticonData>()); } m_chatEmoticonSerialList[sConfig.nEmoticonSerialID].Add(sConfig); } reader.Dispose(); reader = null; }
public void ReplaceChatEmoticonChar(ref string content) { if (string.IsNullOrEmpty(content)) { return; } foreach (KeyValuePair <int, SSchemeChatEmoticonData> data in m_dicChatEmoticonConfig) { SSchemeChatEmoticonData emotionData = data.Value; if (emotionData.szCharInput != "") { // 只有小表情才能通过输入快捷缩写发送) if (emotionData.eEmoticonType != EMChatEmoticonType.Emoticon_Default) { continue; } while (content.Contains(emotionData.szCharInput)) { //string newContent = (char)21 + "[emo id=" + data.Key + " " + "animKey=" + emotionData.szEmoticonKey.ToString() + "]" + "[/emo]"; string newContent = String.Format("{0}[emo id={1} serialid={2} animkey={3} type={4}] [/emo]", (char)21, data.Key, emotionData.nEmoticonSerialID, emotionData.szEmoticonKey, emotionData.eEmoticonType); content = content.Replace(emotionData.szCharInput, newContent); } } } }