using UnityEngine; using UnityEngine.UI; using System.Collections; using Games.Item; using GCGame; using GCGame.Table; using Games.ChatHistory; using Module.Log; public class ChatLinkName : ChatLinkItem { public const string CharNameShow = "[{0}]"; private string _CharName; private string _ChatContent; private ulong _CharGuid; public void SetLinkCharName(string charName, ulong guid) { _CharName = charName; StrInput = string.Format(CharNameShow, _CharName); StrSend = StrSendStart + ((int)ChatLinkType.CharName).ToString() + StrSplit + _CharName + StrSplit + guid + StrSendEnd; StrShow = string.Format(CharNameShow, _CharName); } public override void SetLinkBySendStr(Text text, ChatHistoryItem chatHistory, string linkStr, string[] linkParams) { StrSend = linkStr; StrInput = linkStr; if (chatHistory != null && linkParams == null && (chatHistory.EChannel != GC_CHAT.CHATTYPE.CHAT_TYPE_SYSTEM && chatHistory.EChannel != GC_CHAT.CHATTYPE.CHAT_TYPE_BATTLE)) { _CharGuid = chatHistory.SenderGuid; _ChatContent = chatHistory.ChatInfo; string charName = string.Format(CharNameShow, chatHistory.SenderName); if (_CharGuid == GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Guid) { charName = StrDictionary.GetClientDictionaryString("#{5577}", charName); } else if (GCGame.Utils.GetProfessionGender(chatHistory.SenderPro) == GCGame.Utils.ChatGender.Female) { charName = StrDictionary.GetClientDictionaryString("#{5579}", charName); } else { charName = StrDictionary.GetClientDictionaryString("#{5578}", charName); } StrShow = charName + ":"; } else if (linkParams == null) { StrShow = ""; } else if (linkParams.Length == 3) { _CharName = linkParams[1]; _CharGuid = ulong.Parse(linkParams[2]); StrShow = string.Format(CharNameShow, _CharName); } } protected override void LinkClick(int linkindex) { LogModule.DebugLog("CharNameLinkClick:" + linkindex); PlayerTooltipsLogic.ShowPlayerTooltip(_CharGuid, _CharName, Vector3.zero, _ChatContent); } }