using UnityEngine; using UnityEngine.UI; using System.Collections; using Games.Item; using GCGame; using GCGame.Table; using Games.ChatHistory; public class ChatLinkEquip : ChatLinkItem { private ulong _ItemGuid; private int _ItemDataID; private int _Strength; private int _IsRare; private int _ExAttrCnt; private ulong _SenderGuid; public override void SetLinkItem(GameItem itemInfo) { string linkStr = ""; linkStr = "【" + itemInfo.GetEquipNameWithoutColor() + "】"; //linkStr = itemInfo.GetEquipNameWithoutColor(); _ItemGuid = itemInfo.Guid; _ItemDataID = itemInfo.DataID; int isRare = itemInfo.IsRare ? 1 : 0; int isFrenzy = itemInfo.IsFrenzy ? 1 : 0; StrInput = linkStr; StrSend = StrSendStart + ((int)ChatLinkType.Equip).ToString() + StrSplit + _ItemGuid + StrSplit + _ItemDataID + StrSplit + itemInfo.StrengthLevel + StrSplit + isRare + StrSplit + itemInfo.ExAttrs.Count + StrSplit + isFrenzy + StrSendEnd; } public override void SetLinkBySendStr(Text text, ChatHistoryItem chatHistory, string linkStr, string[] linkParams) { StrSend = linkStr; StrInput = linkStr; if (linkParams.Length != 7) return; _ItemGuid = ulong.Parse(linkParams[1]); _ItemDataID = int.Parse(linkParams[2]); _Strength = int.Parse(linkParams[3]); _IsRare = int.Parse(linkParams[4]); _ExAttrCnt = int.Parse(linkParams[5]); int frenzyParam = int.Parse(linkParams[6]); bool _IsFrenzy = frenzyParam == 1 ? true : false; _SenderGuid = chatHistory.SenderGuid; GameItem equipItem = new GameItem(); equipItem.Guid = _ItemGuid; equipItem.IsFrenzy = _IsFrenzy; equipItem.DataID = _ItemDataID; equipItem.StrengthLevel = _Strength; equipItem.IsRare = _IsRare > 0; equipItem.ExAttrs.Clear(); for (int i = 0; i < _ExAttrCnt; ++i) { equipItem.ExAttrs.Add(new EquipXilianAttr()); } var dataTab = TableManager.GetCommonItemByID(_ItemDataID, 0); if (dataTab != null) { string equipStr = equipItem.GetEquipName(); StrShow = equipItem.GetEquipNameInBrackets(_ShowBlackColor); } } protected override void LinkClick(int linkindex) { ShowChatItemTooltips(_ItemGuid, _SenderGuid); } }