using UnityEngine; using UnityEngine.UI; using System.Collections; using System.Collections.Generic; using Games.Item; using GCGame; using GCGame.Table; using Games.ChatHistory; public class ChatLinkActiveFunc : ChatLinkName { public ChatLinkType _chatLinkType; public void SetChatLinkType(ChatLinkType type) { _chatLinkType = type; } private int _paramId = -1; public override void SetLinkBySendStr(Text text, ChatHistoryItem chatHistory, string linkStr, string[] linkParams) { StrSend = linkStr; StrInput = linkStr; if (linkParams.Length != 2) return; _paramId = int.Parse(linkParams[1]); StrShow = StrDictionary.GetClientDictionaryString("#{79312}"); } protected override void LinkClick(int linkindex) { switch(_chatLinkType) { case ChatLinkType.ActiveAdvanceFashion: { var advanceFashionTab = TableManager.GetAdvanceFashionByID(_paramId, 0); if(advanceFashionTab == null) { return; } var advanceFashionType = advanceFashionTab.Type; if (!AdvanceCanadvanceCtr.GetInstance().IsAdvanceFuncOpen(advanceFashionType)) { GUIData.AddNotifyData("#{2182}"); return; } UIManager.ShowUI(UIInfo.AdvanceMountPanel, delegate(bool bSucess, object param) { if(bSucess) { AdvanceMountPanelCtr.Instance.SetAdvanceType(advanceFashionType); AdvanceMountPanelCtr.Instance.ShowAdnvaceFashionPanel(); } }); } break; case ChatLinkType.ActiveFashion: { var fashionItemTab = TableManager.GetFashionItemByID(_paramId, 0); if(fashionItemTab == null) { return; } var _optionType = fashionItemTab.ClassId; UIManager.ShowUI(UIInfo.BackPackRoot, delegate(bool bSucess, object param) { if(bSucess) { BackPackLogic.Instance()._TagPanel.ShowPage(1); if(FashionPanelCtr.Instance && FashionPanelCtr.Instance.gameObject.activeInHierarchy) { FashionPanelCtr.Instance.OnItemClick(_optionType); } } }); } break; case ChatLinkType.ActivePet: { //宠物功能ID是3 var petFunctionId = 3; if (!GameManager.gameManager.PlayerDataPool.FunctionOpenState.ContainsKey(petFunctionId) || !GameManager.gameManager.PlayerDataPool.FunctionOpenState[petFunctionId]) { GUIData.AddNotifyData("#{2182}"); return; } UIManager.ShowUI(UIInfo.PetMainWndPath, delegate (bool bSucess, object param) { if (bSucess) { PetMainWnd.Instance._TagPanel.ShowPage(4); } }); } break; case ChatLinkType.ActiveTitle: { UIManager.ShowUI(UIInfo.TitleView); } break; } } }