using UnityEngine; using UnityEngine.UI; using System.Text; using System.Collections; using GCGame.Table; using Games.Item; using Games.GlobeDefine; using GCGame; using System; using System.Collections.Generic; using Module.Log; using Games.UserCommonData; public class ItemTooltipsLogic : MonoBehaviour { public enum ShowType { Normal = 1, // 正常tooltips Info, // 无操作按钮的tooltips ShopBuy, // 购买界面 ShopBuyBatch, // 可以批量购买 QianKunDaiStuff, // 乾坤袋材料选择 比Normal多一个放入 ChatLink, // 聊天栏超链 CangKu, // 仓库取出 CangKuBackPack, // 仓库放入 BuyBack, // 回购 Equiped, UnEquiped, Compare, GetPath, // 查看获取路径 LiveSkillGet, // 采集 } public enum MenuBtnType { Use = 1, // 使用 BuyBack, // 回收 Bind, // 绑定 OnSell, // 出售 DivItem, // 拆解 PutsOn, // 装备 MakeOut, // 打造 LostGhost, // 失魂 Refix, // 修理 CallOut, // 召唤 SetFree, // 放生 } public RectTransform _RootTransform; public CommonItemTipsSlot _ItemSlot; public Text _ItemName; public Text _ItemType; public Text _ItemDesc; public Text _ItemLevel; public UISubScollMenu _PopMenu; public float _PosLeft; public float _PosRight; public GameObject _MenuContainer; public GameObject _BtnSell; public Text giftBagUseLimit; // 用于显示物品使用次数和上限,由于只有礼包到,暂定专属命名 public Text giftBagDeleteLine; // 删除线,表示已经或的该奖励 public UIContainerBase itemGetPathContainer; // 物品获取列表 private StringBuilder deleteLine = new StringBuilder(); public GameItem m_Item = null; private static ItemTooltipsLogic m_Instance; public static ItemTooltipsLogic Instance() { return m_Instance; } private static Action callBack; private static GameItem m_curItem; private static ShowType m_curType; private static Vector3 _ClickPos; private static int m_ItemClassId; public Transform _ItemToolTipsTrans; public static void ShowItemTooltip(int dataId, ShowType type, Vector3 pos, Action cb = null) { GameItem item = new GameItem(); item.DataID = dataId; if (item.IsValid()/* && !item.IsEquipMent()*/) { ShowItemTooltip(item, type, pos, cb); } } public static void ShowItemTooltip(GameItem equip, ShowType type, Vector3 pos, Action cb = null) { callBack = cb; m_curItem = equip; m_curType = type; _ClickPos = pos; LogModule.DebugLog("_ClickPos:" + _ClickPos); //判断是否要显示模型 if (IsShowModel()) { UIManager.ShowUI(UIInfo.ItemModelViewPanel, delegate(bool bSucess, object param) { if(bSucess) { ItemModelViewPanel.Instance.Init(m_curItem, type); } }); return; } UIManager.ShowUI(UIInfo.ItemTooltipsRoot, ItemTooltipsLogic.OnShowItemTip); } static bool IsShowModel() { //进阶界面特殊处理 if (AdvanceMountPanelCtr.Instance && AdvanceMountPanelCtr.Instance.isActiveAndEnabled) return false; //背包时装界面 if (FashionPanelCtr.Instance && FashionPanelCtr.Instance.isActiveAndEnabled) return false; var commonItem = TableManager.GetCommonItemByID(m_curItem.DataID, 0); if (commonItem != null && ((commonItem.ClassID == (int)ItemClass.FASHION && (commonItem.SubClassID == 1 || commonItem.SubClassID == 2)) //|| (commonItem.ClassID == (int)ItemClass.FELLOW && commonItem.SubClassID == (int)FellowSubClass.CALL) || commonItem.ClassID == (int)ItemClass.ADVANCEFASHION)) { return true; } return false; } private static void OnShowItemTip(bool bSuccess, object param) { if (!bSuccess) { LogModule.ErrorLog("load equiptooltip error"); callBack = null; return; } ItemTooltipsLogic.Instance().ShowTooltips(m_curItem, m_curType); // 特殊礼包的某些数据需要请求服务端 if(m_curItem.GetClass() == (int)ItemClass.GIFTBAG) { if(m_curItem.GetSubClass() == (int)GiftBagSubType.TypeAmountTime) { ItemTooltipsLogic.Instance().AskUseCountAndLimit(); } else if(m_curItem.GetSubClass() == (int)GiftBagSubType.AccumulateTime) { ItemTooltipsLogic.Instance().AskPayAndNeed(); } } } // 新手指引 private int m_NewPlayerGuideFlag_Step = -1; void Awake() { m_Instance = this; } void Start() { Check_NewPlayerGuide(); } private void OnDisable() { callBack = null; } void OnDestroy() { m_Instance = null; } private void ShowTooltips(GameItem item, ShowType type) { if (item == null) { CloseWindow(); return; } if (item.IsValid() == false) { CloseWindow(); return; } m_Item = item; gameObject.SetActive(true); _ItemSlot.InitItem(item); SetItemName(item); SetItemType(item); SetItemUseLevel(item); SetItemDesc(item); //if (_ClickPos.x < 0) //{ // _RootTransform.anchoredPosition = new Vector2(_PosRight, _RootTransform.anchoredPosition.y); //} //else //{ // _RootTransform.anchoredPosition = new Vector2(_PosLeft, _RootTransform.anchoredPosition.y); //} int canuse = item.CanUse() ? 1 : 0; int cansell = item.CanSell() ? 1 : 0; int canthrow = TableManager.GetCommonItemByID(item.DataID, 0).CanThrow; int isShowGainPath = TableManager.GetCommonItemByID(item.DataID, 0).IsShowGainPath; _PopMenu.Clear(); _PopMenu.gameObject.SetActive(true); _BtnSell.SetActive(false); itemGetPathContainer.gameObject.SetActive(false); HideGemData(); if (type == ShowType.Info) //仅显示信息 没有操作按钮的tips { _PopMenu.gameObject.SetActive(false); //宝石特殊处理 if (m_curItem.IsGem()) { ShowGemData(); } else { HideGemData(); } } else if (type == ShowType.ShopBuy) { _PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{4549}")); } else if (type == ShowType.ShopBuyBatch) { _PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{4549}")); _PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{4574}")); } else if (type == ShowType.ChatLink) { //根据是否可以上架 决定是否显示求购按钮 //if (ConsignSaleBag.isCanConsignSale(item, true)) //{ // _PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{4577}")); //} } else if (type == ShowType.CangKu) //仓库界面 仓库物品tips { //显示取回按钮 _PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{4576}")); } else if (type == ShowType.CangKuBackPack) //仓库界面 背包物品tips { //显示放入仓库按钮 _PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{4573}")); } else if (type == ShowType.BuyBack) //回购 { //显示回购按钮 _PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{1086}")); } else if (type == ShowType.GetPath) { //显示获取路径 //if (isShowGainPath == 1) //{ ShowItmeGetPath(); //_PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{52001}")); //获取途径 //} } else if (type == ShowType.LiveSkillGet) { //显示获取路径 _PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{4753}")); } else { if (item.GetClass() == (int)ItemClass.FELLOW && item.GetSubClass() == (int)FellowSubClass.CALL) //特殊描述,与使用功能相同 { _PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{42000}")); //召唤 } else { if (item.CanUse()) { _PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{4571}")); //使用 } } if (ItemCombine.CanItemCombine(item.DataID)) { _PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{42003}")); //合成 } if (item.GetClass() == (int)ItemClass.MEDIC && item.GetSubClass() != (int)MedicSubClass.ATTR) { _PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{42200}")); //药品装备 } if (!item.BindFlag) { _PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{3580}")); //绑定 } var canSellItems = TableManager.GetUserShopItem(); var canSellSysItems = TableManager.GetExchangeMarket(); if ((canSellItems.ContainsKey(item.DataID) || canSellSysItems.ContainsKey(item.DataID)) && !item.BindFlag) { _PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{4578}")); //出售 } if (canuse == 1 && item.StackCount > 1 && CanBatchUse(item.DataID)) { _PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{4572}")); //批量使用 } if (canthrow == 1) { _PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{4579}")); //丢弃 } if(isShowGainPath == 1) { ShowItmeGetPath(); //_PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{52001}")); //获取途径 } else { itemGetPathContainer.gameObject.SetActive(false); } if (cansell == 1) { _PopMenu.PushMenu(StrDictionary.GetClientDictionaryString("#{3877}")); //回收 //_BtnSell.SetActive(true); } } if (_PopMenu.SubBtns.Count > 0) { _MenuContainer.SetActive(true); } else { _MenuContainer.SetActive(false); } //gameObject.SetActive(true); //UIManager.ShowUI(UIInfo.ItemTooltipsRoot); } bool CanBatchUse(int itemId) { var commonItem = TableManager.GetCommonItemByID(itemId, 0); if(commonItem != null) { return commonItem.CanBulkUse != -1 ? true : false; } //if (m_Item.GetClass() == (int)ItemClass.PRIZE) //{ // if (m_Item.GetSubClass() == 1 // || m_Item.GetSubClass() == 2 // || m_Item.GetSubClass() == 4) // { // return true; // } //} return false; } private void ShowItmeGetPath() { var _ItemPathTab = TableManager.GetItemGetPathByID(m_Item.DataID, 0); if (_ItemPathTab == null) { LogModule.ErrorLog("ItemGetPath没有配置这个物品" + m_Item.DataID); itemGetPathContainer.gameObject.SetActive(false); return; } List pathList = new List(); for (int i = 0; i < _ItemPathTab.getItemPathCount(); ++i) { if (string.IsNullOrEmpty(_ItemPathTab.GetItemPathbyIndex(i))) { continue; } if ("-1" == _ItemPathTab.GetItemPathbyIndex(i)) { continue; } switch (i) { case 0: case 4: case 5: case 7: case 10: { //// 以上为只会有一种情况的路径 //ItemGetPathPopRoot.GetPathData pathType = new ItemGetPathPopRoot.GetPathData(); //pathType.pathType = i; //pathType.info = _ItemPathTab.GetItemPathbyIndex(i).Trim('"'); //pathType.itemID = _ItemPathTab.Id; //pathList.Add(pathType); string infoRaw = _ItemPathTab.GetItemPathbyIndex(i).Trim('"'); string[] infos = infoRaw.Split('|'); //Debug.LogError("infos10 == " + infos.Length); for (int j = 0; j < infos.Length; ++j) { ItemGetPathPopRoot.GetPathData item = new ItemGetPathPopRoot.GetPathData(); item.pathType = i; item.info = infos[j]; item.itemID = _ItemPathTab.Id; pathList.Add(item); } } break; case 1: case 2: case 3: case 6: case 8: case 11: { // 详细 string infoRaw = _ItemPathTab.GetItemPathbyIndex(i).Trim('"'); string[] infos = infoRaw.Split('|'); for (int j = 0; j < infos.Length; ++j) { ItemGetPathPopRoot.GetPathData item = new ItemGetPathPopRoot.GetPathData(); item.pathType = i; item.info = infos[j]; item.itemID = _ItemPathTab.Id; pathList.Add(item); } } break; // 运营活动的特殊处理一下,会出现类似的活动,需要先判断。 case 9: { string infoRaw = _ItemPathTab.GetItemPathbyIndex(i).Trim('"'); string[] infos = infoRaw.Split('|'); for (int j = 0; j < infos.Length; ++j) { if (ItemGetPathPopRoot.IsMarketingActActive(infos[j])) { ItemGetPathPopRoot.GetPathData item = new ItemGetPathPopRoot.GetPathData(); item.pathType = i; item.info = infos[j]; item.itemID = _ItemPathTab.Id; pathList.Add(item); } } } break; } if(pathList.Count > 0) { //Debug.LogError(pathList.Count+ " pathList.Count"); itemGetPathContainer.gameObject.SetActive(true); itemGetPathContainer.InitContentItem(pathList, OnGetItemCllick); } } } private void OnGetItemCllick(object data) { ItemGetPathPopRoot.GetPathData info = data as ItemGetPathPopRoot.GetPathData; if (data != null) { ItemGetPathPopRoot.GoGetPath(info, callBack); } CloseWindow(); } void SetItemName(GameItem item) { if (item != null && item.IsValid()) { int nQuality = (int)item.GetQuality(); _ItemName.text = Utils.GetQualityColorInTip(nQuality); _ItemName.text += TableManager.GetCommonItemByID(item.DataID, 0).Name + ""; } } void SetItemType(GameItem item) { if (item != null && item.IsValid()) { Tab_CommonItem tabItem = TableManager.GetCommonItemByID(item.DataID, 0); if (tabItem != null) { int nClassID = tabItem.ClassID; int nSubClassID = tabItem.SubClassID; _ItemType.text = Utils.GetItemType(nClassID, nSubClassID, tabItem.ProfessionRequire); } } } void SetItemUseLevel(GameItem item) { if (item != null && item.IsValid()) { int nPlayerLevel = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level; Tab_CommonItem tabItem = TableManager.GetCommonItemByID(item.DataID, 0); if (null != tabItem) { int nItemUseLevel = tabItem.MinLevelRequire; if (nPlayerLevel >= nItemUseLevel) { _ItemLevel.text = StrDictionary.GetClientDictionaryString("#{3362}", nItemUseLevel); } else { _ItemLevel.text = StrDictionary.GetClientDictionaryString("#{5526}") + StrDictionary.GetClientDictionaryString("#{3362}", nItemUseLevel) + ""; } } } } bool IsInUsabItemTab(int _itemId) { var usabItemTab = TableManager.GetUsableItemByID(_itemId, 0); if (usabItemTab != null) return true; return false; } void SetItemDesc(GameItem item) { if (item != null && item.IsValid()) { if (null != TableManager.GetCommonItemByID(item.DataID, 0)) { string strItemDesc = StrDictionary.GetClientString_WithNameSex(TableManager.GetCommonItemByID(item.DataID, 0).Tips); if(string.IsNullOrEmpty(item.SignName)==false) { strItemDesc += "\n"; strItemDesc += StrDictionary.GetClientDictionaryString("#{5163}", item.SignName); } _ItemDesc.text = strItemDesc; //_ItemDesc.text = string.Format(strItemDesc, itemLimitInfo.GetItemRemainCanUseTimes(item.DataID)); } if (item.DataID == GlobeVar.MARRY_RING_ITEMID) { _ItemDesc.text = Utils.GetMarryRingString(item); } giftBagUseLimit.gameObject.SetActive(false); giftBagDeleteLine.gameObject.SetActive(false); // 礼包三的特殊处理 if (item.GetClass() == (int)ItemClass.GIFTBAG) { if (item.GetSubClass() == (int)GiftBagSubType.OneAmountTime) { giftBagUseLimit.text = StrDictionary.GetClientDictionaryString("#{79000}", item.UsedCount, item.UseLimit); giftBagDeleteLine.text = ""; string[] descs = _ItemDesc.text.Split('\n'); for (int i = 1; i < descs.Length; ++i) { deleteLine.Length = 0; if (i - 1 < item.UsedCount) { for (int j = 0; j < descs[i].Length; ++j) { deleteLine.Append("—"); } } if (i == descs.Length - 1) { giftBagDeleteLine.text += deleteLine.ToString(); } else { giftBagDeleteLine.text += deleteLine.ToString() + "\n"; } } giftBagUseLimit.gameObject.SetActive(true); giftBagDeleteLine.gameObject.SetActive(true); } else { giftBagDeleteLine.gameObject.SetActive(false); } } else { Tab_UsableItem useItem = TableManager.GetUsableItemByID(item.DataID, 0); if (useItem != null) { Tab_CountLimit countLimit = TableManager.GetCountLimitByID(useItem.LimitId, 0); if (countLimit != null) { var itemLimitInfo = GameManager.gameManager.PlayerDataPool.ItemLimitInfo; giftBagDeleteLine.gameObject.SetActive(true); if (countLimit.DayLimit > 0) { giftBagDeleteLine.text = StrDictionary.GetClientDictionaryString("#{41439}", itemLimitInfo.GetItemRemainCanUseTimes(item.DataID) == -1 ? 0 : itemLimitInfo.GetItemRemainCanUseTimes(item.DataID)); return; } if (countLimit.WeekLimit > 0) { giftBagDeleteLine.text = StrDictionary.GetClientDictionaryString("#{41440}", itemLimitInfo.GetItemRemainCanUseTimes(item.DataID) == -1 ? 0 : itemLimitInfo.GetItemRemainCanUseTimes(item.DataID)); return; } if (countLimit.MonthLimit > 0) { giftBagDeleteLine.text = StrDictionary.GetClientDictionaryString("#{41441}", itemLimitInfo.GetItemRemainCanUseTimes(item.DataID) == -1 ? 0 : itemLimitInfo.GetItemRemainCanUseTimes(item.DataID)); return; } if (countLimit.TotalLimit > 0) { giftBagDeleteLine.text = StrDictionary.GetClientDictionaryString("#{41442}", itemLimitInfo.GetItemRemainCanUseTimes(item.DataID) == -1 ? 0 : itemLimitInfo.GetItemRemainCanUseTimes(item.DataID)); return; } } } } } } // 显示礼包4的已使用次数描述 public void SetGift4UsedCountAndLimit(RetSpecialGift4Info packet) { if (m_curItem.GetClass() == (int)ItemClass.GIFTBAG && m_curItem.GetSubClass() == (int)GiftBagSubType.TypeAmountTime && m_curItem.DataID == packet.itemid) { giftBagUseLimit.text = StrDictionary.GetClientDictionaryString("#{79001}", packet.usedcount, packet.maxcount); //giftBagUseLimit.text = string.Format("今日已用次数: {0}/{1}", packet.usedcount, packet.maxcount); giftBagUseLimit.gameObject.SetActive(true); } else { giftBagUseLimit.gameObject.SetActive(false); } } // 显示礼包5的已使用次数描述 public void SetGift5UsedCountAndLimit(RetSpecialGift5Info packet) { if (m_curItem.GetClass() == (int)ItemClass.GIFTBAG && m_curItem.GetSubClass() == (int)GiftBagSubType.AccumulateTime && m_curItem.DataID == packet.itemid) { // 白色 FBF6F6FF // 绿色 44E736FF string payTime; if (packet.payTimes >= packet.needTimes) { payTime = string.Format("{0}", packet.payTimes); } else { payTime = string.Format("{0}", packet.payTimes); } giftBagUseLimit.text = StrDictionary.GetClientDictionaryString("#{79004}", payTime, packet.needTimes); giftBagUseLimit.gameObject.SetActive(true); } else { giftBagUseLimit.gameObject.SetActive(false); } } public static void CloseWindowStatic() { UIManager.CloseUI(UIInfo.ItemTooltipsRoot); } public void CloseWindow() { //m_Item = null; //gameObject.SetActive(false); UIManager.CloseUI(UIInfo.ItemTooltipsRoot); } public void OnBtnPopMenu(object menuObj) { string menuStr = menuObj as string; if (menuStr == StrDictionary.GetClientDictionaryString("#{4549}")) { // 购买 OnBuyClick(); } else if (menuStr == StrDictionary.GetClientDictionaryString("#{4549}")) { // 购买 OnBuyBatchClick(); } else if (menuStr == StrDictionary.GetClientDictionaryString("#{4577}")) { // 求购 ConsignSaleBuyBt(); } else if (menuStr == StrDictionary.GetClientDictionaryString("#{4573}")) { // 放入 CangKuIn(); } else if (menuStr == StrDictionary.GetClientDictionaryString("#{4576}")) { // 取出 CangKuOut(); } else if (menuStr == StrDictionary.GetClientDictionaryString("#{4571}") || menuStr == StrDictionary.GetClientDictionaryString("#{42000}")) { // 4571 - 使用 // 42000 - 召唤 //ItemTooltipsLogic.ItemUse(m_Item); UseGameProp(m_Item); } else if (menuStr == StrDictionary.GetClientDictionaryString("#{3877}")) { // 回收 ItemSell(); } else if (menuStr == StrDictionary.GetClientDictionaryString("#{4578}")) { // 出售 ItemMarket(); } else if (menuStr == StrDictionary.GetClientDictionaryString("#{4572}")) { // 批量使用 ItemBatchUse(); } else if (menuStr == StrDictionary.GetClientDictionaryString("#{4579}")) { // 丢弃 ItemThrow(); } else if (menuStr == StrDictionary.GetClientDictionaryString("#{52001}")) { // 获取途径 ItemGainPath(); } else if (menuStr == StrDictionary.GetClientDictionaryString("#{4570}")) { // 吸收 AbsorbOnClick(); } else if (menuStr == StrDictionary.GetClientDictionaryString("#{4575}")) { // 分享 ItemShareLink(); } else if (menuStr == StrDictionary.GetClientDictionaryString("#{1086}")) { // 回购 ItemBuyBack(); } else if (menuStr == StrDictionary.GetClientDictionaryString("#{5005}")) { // 获取路径 ShowItemGetPath(); } else if (menuStr == StrDictionary.GetClientDictionaryString("#{4753}")) { // 采集 LiveSkillGet(); } //else if (menuStr == StrDictionary.GetClientDictionaryString("#{3874}")) //{ // SetShortCutUseItem(); //} else if (menuStr == StrDictionary.GetClientDictionaryString("#{42002}")) { // 锻造 MagicItem(1); } else if (menuStr == StrDictionary.GetClientDictionaryString("#{42003}")) { if (m_Item.IsMagicMent()) { // 合成 MagicItem(2); } else { ItemCombine.ShowCombineUI(m_Item.DataID); CloseWindow(); } } else if (menuStr == StrDictionary.GetClientDictionaryString("#{42200}")) { // 携带 EquipMedicItem(); } else if (menuStr == StrDictionary.GetClientDictionaryString("#{3580}")) { // 绑定 BindItem(); } } public static void UseGameProp(GameItem gameItem) { if (gameItem.DataID == 919) { var _ImpactId = -1; for (int i = 0; i < Singleton.Instance.MainPlayer.ClientImpactInfos.Count; ++i) { _ImpactId = Singleton.Instance.MainPlayer.ClientImpactInfos[i].ImpactId; } if (_ImpactId == 99998) { MessageBoxLogic.OpenOKCancelBox(StrDictionary.GetClientDictionaryString("#{48311}"), "", delegate () { ItemTooltipsLogic.ItemUse(gameItem); }, null); } else { ItemTooltipsLogic.ItemUse(gameItem); } } else { ItemTooltipsLogic.ItemUse(gameItem); } } void BindItem() { LogModule.DebugLog("BindItem"); MessageBoxLogic.OpenOKCancelBox(StrDictionary.GetClientDictionaryString("#{5396}"), "", BindItemOK, null); } void BindItemOK() { CG_REQ_BIND_ITEM buyPacket = (CG_REQ_BIND_ITEM)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_BIND_ITEM); buyPacket.Itemguid = (long)m_Item.Guid; buyPacket.SendPacket(); } void BindItemCancel() { } void EquipMedicItem() { if (m_Item != null && m_Item.IsValid()) { if (m_Item.GetClass() == (int)ItemClass.MEDIC) { if (m_Item.GetSubClass() == (int)MedicSubClass.HP || m_Item.GetSubClass() == (int)MedicSubClass.MP) { SetShortCutUseItem(); } else if (m_Item.GetSubClass() == (int)MedicSubClass.HP_DY || m_Item.GetSubClass() == (int)MedicSubClass.MP_DY) { UIManager.ShowUI(UIInfo.AutoUseMedicPanel); CloseWindow(); } } } } void MagicItem(int type) { UIManager.ShowUI(UIInfo.MagicWndPath, delegate (bool bSucess, object param) { if (bSucess) { MagicMain.Instance._TagPanel.ShowPage(type); } }); } public void ItemSell() { if (m_Item != null && m_Item.IsValid()) { if (m_Item.CanSell() == false) { GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{8902}")); return; } if (m_Item.IsGem())//宝石 { m_Item.GetName();//名字 Tab_GemLvlUpConsume tab_GemLvlUpConsume = TableManager.GetGemLvlUpConsumeByID(m_Item.DataID, 0);//宝石 if (tab_GemLvlUpConsume == null) return; Tab_GemLvlUpConsume tab_GemLvlUpConsume1 = TableManager.GetGemLvlUpConsumeByID(tab_GemLvlUpConsume.ConsumeSubType, 0);//宝石子类 if (tab_GemLvlUpConsume1 == null) return; Tab_CommonItem tab_CommonItem = TableManager.GetCommonItemByID(tab_GemLvlUpConsume1.Id, 0);//工具表 if (tab_CommonItem == null) return; if (tab_GemLvlUpConsume.DesLevel == 1) { string moneyName = Utils.GetMoneyName(tab_CommonItem.SellMoneyType);//卖出货币类型 SysShopController.m_TipSelDataID = m_Item.DataID; MessageBoxLogic.OpenOKCancelBox(StrDictionary.GetClientDictionaryString("#{6152}", m_Item.GetName(), tab_CommonItem.SellPrice * m_Item.StackCount + moneyName), "", ItemSellOK, null); } else { MessageBoxLogic.OpenOKCancelBox(StrDictionary.GetClientDictionaryString("#{6151}", m_Item.GetName(), tab_GemLvlUpConsume.GemMaterialCnt, tab_CommonItem.Name), "", ItemSellOK, null); } } else if (m_Item.GetQuality() >= ItemQuality.QUALITY_BLUE) { SysShopController.m_TipSelDataID = m_Item.DataID; MessageBoxLogic.OpenOKCancelBox(StrDictionary.GetClientDictionaryString("#{4668}"), "", ItemSellOK, null); } else { SysShopController.m_TipSelDataID = m_Item.DataID; ItemSellOK(); } } CloseWindow(); } void ItemMarket() { var sysMarketItem = TableManager.GetExchangeMarketByID(m_Item.DataID, 0); if (sysMarketItem == null) { UIManager.ShowUI(UIInfo.MarketRoot, (sucess, param) => { MarketLogic.Instance()._TagPanel.ShowPage(1); MarketLogic.Instance()._MarketPlayerLogic._TagPanel.ShowPage(1); }); } else { UIManager.ShowUI(UIInfo.MarketRoot, (sucess, param) => { MarketLogic.Instance()._TagPanel.ShowPage(0); MarketLogic.Instance()._MarketSysLogic.ShowSeletcedSell(m_Item); }); } CloseWindow(); } void ItemSellOK() { if (m_Item != null && m_Item.IsValid()) { List selllist = new List(); selllist.Add(m_Item); SysShopController.SellItem((int)GameItemContainer.Type.TYPE_BACKPACK, selllist); CloseWindow(); } } void ItemGainPath() { ItemGetPathPopRoot.Show(m_Item.DataID, this.gameObject.transform.position); UIManager.CloseUI(UIInfo.ItemTooltipsRoot); } void ItemThrow() { if (m_Item != null && m_Item.IsValid()) { MessageBoxLogic.OpenOKCancelBox(3274, 1000, ItemThrowOK); } } void ItemThrowOK() { Games.LogicObj.Obj_MainPlayer mainPlayer = Singleton.Instance.MainPlayer; if (m_Item != null && m_Item.IsValid() && null != mainPlayer) { if (mainPlayer.CheckThrowItem(m_Item)) { mainPlayer.ThrowItem(m_Item); } CloseWindow(); } } public static bool CanOpenFunctionUI(GameItem item) { //3 //1 强化界面 2.词条洗脸界面 3.基础洗脸界面 4.词条置换界面 5.宝石镶嵌界面 6.人物技能界面 7.生活技能 int mainPlayerLevel = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level; if (mainPlayerLevel < item.GetMinLevelRequire()) { return false; } int classId = item.GetClass(); int subClassId = item.GetSubClass(); bool isOpenUI = true; switch (classId) { case (int)ItemClass.ADVANCEITEM: { if (subClassId == (int)AdvanceItemSubType.Ride || subClassId == (int)AdvanceItemSubType.GodWeapon || subClassId == (int)AdvanceItemSubType.Wing || subClassId == (int)AdvanceItemSubType.Wish || subClassId == (int)AdvanceItemSubType.Seal || subClassId == (int)AdvanceItemSubType.Mask || subClassId == (int)AdvanceItemSubType.Crown) { int advanceType = subClassId - 1; //判断功能是否已经开启 if(!AdvanceCanadvanceCtr.GetInstance().IsAdvanceFuncOpen(advanceType)) { GUIData.AddNotifyData("#{2182}"); CloseWindowStatic(); return true; } UIManager.ShowUI(UIInfo.AdvanceMountPanel, delegate (bool bSuccess, object param) { if (bSuccess) { AdvanceMountPanelCtr.Instance.SetAdvanceType(advanceType); AdvanceMountPanelCtr.Instance.OnMenuItemClick(AdvanceMenuItemPanelCtr.MenuItemOptType.Advance); } }); } else if (subClassId == (int)AdvanceItemSubType.RideSkill || subClassId == (int)AdvanceItemSubType.GodWeaponSkill || subClassId == (int)AdvanceItemSubType.WingSkill || subClassId == (int)AdvanceItemSubType.WishSkill || subClassId == (int)AdvanceItemSubType.SealSkill || subClassId == (int)AdvanceItemSubType.MaskSkill || subClassId == (int)AdvanceItemSubType.CrownSkill) { int advanceType = subClassId - 9; if (!AdvanceCanadvanceCtr.GetInstance().IsAdvanceFuncOpen(advanceType)) { GUIData.AddNotifyData("#{2182}"); CloseWindowStatic(); return true; } UIManager.ShowUI(UIInfo.AdvanceMountPanel, delegate (bool bSuccess, object param) { if (bSuccess) { AdvanceMountPanelCtr.Instance.SetAdvanceType(advanceType); AdvanceMountPanelCtr.Instance.OnMenuItemClick(AdvanceMenuItemPanelCtr.MenuItemOptType.Show); } }); }else if(subClassId == (int)AdvanceItemSubType.Meridian) { }else if(subClassId >= (int)AdvanceItemSubType.RideSoul && subClassId <= (int)AdvanceItemSubType.CrownSprit) { var advanceType = 0; if (subClassId >= (int)AdvanceItemSubType.RideSoul && subClassId <= (int)AdvanceItemSubType.CrownSoul) advanceType = subClassId - 16; else advanceType = subClassId - 23; if (!AdvanceCanadvanceCtr.GetInstance().IsAdvanceFuncOpen(advanceType)) { GUIData.AddNotifyData("#{2182}"); CloseWindowStatic(); return true; } UIManager.ShowUI(UIInfo.AdvanceMountPanel, delegate (bool bSuccess, object param) { if (bSuccess) { AdvanceMountPanelCtr.Instance.SetAdvanceType(advanceType); AdvanceMountPanelCtr.Instance.OnMenuItemClick(AdvanceMenuItemPanelCtr.MenuItemOptType.Show); } }); } else { isOpenUI = false; } CloseWindowStatic(); return isOpenUI; } case (int)ItemClass.PRIZE: { if (subClassId == (int)PrizeSubClass.SPEAKER || subClassId == (int)PrizeSubClass.AllSERVERHORN || subClassId == (int)PrizeSubClass.CROSSSERVERHORN) { //弹出喇叭UI UIManager.ShowUI(UIInfo.HornInputPanel, delegate(bool bSucessm, object param) { if(bSucessm) { HornInputPanelCtr.Instance.RecordHornType(subClassId); } }); }else if(subClassId >= (int)PrizeSubClass.DAILYCOPY1 && subClassId <= (int)PrizeSubClass.DAILYCOPY4) { UIManager.ShowUI(UIInfo.CopyScenePanelCtr, delegate (bool bSucess, object param) { if (bSucess) { CopyScenePanelCtr.Instance.OnMenuItemClick(0, subClassId - 50); } }); } else if(subClassId == (int)PrizeSubClass.EQUIPCOPY) { UIManager.ShowUI(UIInfo.CopyScenePanelCtr, delegate(bool bSucess, object param) { if(bSucess) { CopyScenePanelCtr.Instance.OnMenuItemClick(1); } }); } else if (subClassId == (int)PrizeSubClass.ROSE) { CommunityLogic.ShowMyCommunityRoot(); } else if (subClassId == (int)PrizeSubClass.GUILDCONTRIBUTIONDAN) { Tab_UsableItem useItem = TableManager.GetUsableItemByID(item.DataID, 0); if (useItem != null) { MessageBoxLogic.OpenOKCancelBox(StrDictionary.GetClientDictionaryString("#{25228}", useItem.UseParamA), "", delegate () { if (null != Singleton.Instance.MainPlayer && Singleton.Instance.MainPlayer.CheckUseItem(item)) { Singleton.Instance.MainPlayer.UseItem(item); return; } }, delegate () { }); } } else if (subClassId == (int)PrizeSubClass.ROLESKILL) { UIManager.ShowUI(UIInfo.SkillInfo); }else if (subClassId == (int)PrizeSubClass.LIVINGSKILL) { var liveItemTabs = TableManager.GetLivingSkillItem().Values; int productItemID = -1; foreach (var liveItem in liveItemTabs) { if (liveItem.ConsumeSubTypeA == item.DataID || liveItem.ConsumeSubTypeB == item.DataID) { productItemID = liveItem.Id; } for (int i = 0; i < liveItem.getConsumeSubTypeCount(); ++i) { if (liveItem.GetConsumeSubTypebyIndex(i) == item.DataID) { productItemID = liveItem.Id; } } if (productItemID > 0) break; } UIManager.ShowUI(UIInfo.SkillInfo, delegate (bool bSucess, object param) { if (bSucess) { SkillRootLogic.Instance().ShowTagPage(2); LiveSkillLogic.Instance().ShowLiveItem(productItemID); } }); }else if(subClassId == (int)PrizeSubClass.SYNTHETICMAT) { //合成界面 ItemCombine.ShowCombineUI(item.DataID); }else if(subClassId == (int)PrizeSubClass.FRIEND) { //好友--结拜道具 UIManager.ShowUI(UIInfo.FriendAndMail, delegate(bool bSucess, object param) { if(bSucess) { FriendAndMailRoot.Instance()._TagPanel.ShowPage(1); } }); }else if(subClassId == (int)PrizeSubClass.LOVEBEAN) { UIManager.ShowUI(UIInfo.MarryRoot, delegate(bool bSucess, object param) { if(bSucess) { MarryRoot.Instance.ShowPage(MarryRoot.MarryMenuItemType.Tree); } }); }else if(subClassId == (int)PrizeSubClass.DIAMOND) { UIManager.ShowUI(UIInfo.MarryRoot, delegate (bool bSucess, object param) { if (bSucess) { MarryRoot.Instance.ShowPage(MarryRoot.MarryMenuItemType.Ring); } }); } else if(subClassId == (int)PrizeSubClass.Meridian) { //打开经脉丹药使用界面 Tab_FunctionOpen functionOpen = TableManager.GetFunctionOpenByID(6, 0); if(functionOpen!=null && functionOpen.ShowLevel > GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level) { GUIData.AddNotifyData("#{2182}"); } else { UIManager.ShowUI(UIInfo.MeridiaSoulWnd, delegate (bool bSuccess, object param) { if (bSuccess) { MeridiaSoulMain.Instance._TagPanel.ShowPage((int)param); } }, 0); } }else if(subClassId == (int)PrizeSubClass.VIPCOST) { UIManager.ShowUI(UIInfo.YuanBaoShop, delegate(bool bSucess, object param) { if (bSucess) { YuanBaoShopLogic.Instance()._TagPanel.ShowPage(3); if (VipInfo.Instance) { VipInfo.Instance.Click_OpenVIPRoot(); } } }); }else if (subClassId == (int)PrizeSubClass.DreamDan) { isOpenUI = false; var itemAddCount = TableManager.GetUsableItemByID(item.DataID, 0).UseParamA; int _RemainCount = ActivityDataManager.Instance.GetActivityCompleteTimes((int)ActivityDataManager.Activity_Type.ACTIVITY_TYPE_EXERCISEROOM); if(_RemainCount>=0) { if (itemAddCount + _RemainCount > TableManager.GetExerciseRoomSetUpByID(0, 0).DayLimit) { isOpenUI = true; MessageBoxLogic.OpenOKCancelBox(StrDictionary.GetClientDictionaryString("#{8140}"), "", delegate () { if (null != Singleton.Instance.MainPlayer && Singleton.Instance.MainPlayer.CheckUseItem(item)) { Singleton.Instance.MainPlayer.UseItem(item); CloseWindowStatic(); } UIManager.CloseUI(UIInfo.MessageBox); }, delegate () { UIManager.CloseUI(UIInfo.MessageBox); }); } } } else if (subClassId == (int)PrizeSubClass.CHILDGROWTH || subClassId == (int)PrizeSubClass.CHILDSTUDY) { UIManager.ShowUI(UIInfo.ChildPanel, (bool bSucess, object param) => { if(bSucess) { ChildPanel.Instance.ShowPanel(subClassId - 54); } }); } else { isOpenUI = false; } CloseWindowStatic(); return isOpenUI; } case (int)ItemClass.STRENGTHEN: { if (subClassId != (int)StrengthenSubClass.JINENG && subClassId != (int)StrengthenSubClass.MAGICCLEAR) { UIManager.ShowUI(UIInfo.EquipEnhance, delegate (bool bSucess, object param) { if (bSucess) { switch (subClassId) { case 1: EquipEnhanceRoot.Instance().TryOpen(1); break; case 2: EquipEnhanceRoot.Instance().TryOpen(0); break; case 3: EquipEnhanceRoot.Instance().TryOpen(0); EquipEnhanceXilian.Instance()._TagPanel.ShowPage(1); //基础洗练 break; case 4: EquipEnhanceRoot.Instance().TryOpen(0); EquipEnhanceXilian.Instance()._TagPanel.ShowPage(2); //词条置换 break; case 5: EquipEnhanceRoot.Instance().TryOpen(2); //宝石镶嵌 break; case 10: EquipEnhanceRoot.Instance().TryOpen(3); break; default: isOpenUI = false; break; } } }); } else if (subClassId == (int)StrengthenSubClass.MAGICCLEAR) { if (MagicMain.ShowMagicPageStr(1)) { MagicMain.Instance.SetUseItem(item.DataID); } CloseWindowStatic(); return true; } else { int skillID = -1; var skillLvUPTabs = TableManager.GetSkillLevelUp().Values; foreach (var skillLvUpTab in skillLvUPTabs) { if (skillLvUpTab.GetConsumTypebyIndex(0) == (int)CONSUM_TYPE.ITEM) { if (skillLvUpTab.GetConsumIdbyIndex(0) == item.DataID) { skillID = skillLvUpTab.GetId(); } } } var skillex = TableManager.GetSkillExByID(skillID, 0); var ownSkill = GameManager.gameManager.PlayerDataPool.GetOwnSkillInfo(skillex.BaseId); if (skillID > 0 && ownSkill == null) { UIManager.ShowUI(UIInfo.SkillInfo, delegate (bool bSucess, object param) { if (bSucess) { SkillRootLogic.Instance().ShowTagPage(0); SkillRootLogic.Instance().OnShowSkillItem(skillex.BaseId); } }); }else { isOpenUI = false; } } CloseWindowStatic(); return isOpenUI; } case (int)ItemClass.FASHION: { if (subClassId == (int)FashionSubClass.CHILDFASHION) { UIManager.ShowUI(UIInfo.ChildPanel, (bool bSucess, object param) => { if (bSucess) { ChildPanel.Instance.ShowPanel(3); } }); CloseWindowStatic(); return true; } CloseWindowStatic(); return false; } case (int)ItemClass.FELLOW: { if (subClassId == (int)FellowSubClass.CALL) { return false; } UIManager.ShowUI(UIInfo.PetMainWndPath, delegate (bool bSucess, object param) { if (bSucess) { switch (subClassId) { //0属性 1洗练 2技能 3修悟 case 1: { //打开宠物的属性面板 经验 //PetMainWnd.Instance._TagPanel.ShowPage(0); PetMainWnd.Instance.ShowPage(0, 0); PetMainWnd.Instance.m_petAttrWnd.ShowAddExpItem(); //宠物经验道具 } break; case 2: { //打开宠物的属性面板 寿命 //PetMainWnd.Instance._TagPanel.ShowPage(0); PetMainWnd.Instance.ShowPage(0, 0); PetMainWnd.Instance.m_petAttrWnd.ShowAddLiftItem(); //宠物寿命道具 } break; case 3: { //技能面板 //PetMainWnd.Instance._TagPanel.ShowPage(2); PetMainWnd.Instance.ShowPage(2, 0); } break; case 4: case 5: { //PetMainWnd.Instance._TagPanel.ShowPage(3); PetMainWnd.Instance.ShowPage(3, 0); } break; case 6: { //PetMainWnd.Instance._TagPanel.ShowPage(1); //PetMainWnd.Instance.TagShowPageMain(1); PetMainWnd.Instance.ShowPage(1, 0); } break; case 7: { PetMainWnd.Instance.ShowPage(0, 0); //PetMainWnd.Instance._TagPanel.ShowPage(0); } break; case 11: { PetMainWnd.Instance.ShowPage(5, 1); //PetMainWnd.Instance._TagPanel.ShowPage(0); } break; default: PetMainWnd.Instance.ShowPage(0, 0); isOpenUI = false; break; } } }); CloseWindowStatic(); return isOpenUI; } case (int)ItemClass.MARKETINGACT: { Tab_ActItemUsePath tab = TableManager.GetActItemUsePathByID(subClassId, 0); if(tab != null) { string parm = tab.ActParam; string[] parms = parm.TrimEnd(' ', '"').Split('*'); if(parms.Length > 1) { ItemGetPathPopRoot.GotoOperationalAct(Convert.ToInt32(parms[0]), Convert.ToInt32(parms[1])); CloseWindowStatic(); } else if(parms.Length > 0) { ItemGetPathPopRoot.GotoOperationalAct(Convert.ToInt32(parms[0]), -1); CloseWindowStatic(); } } return true; } case (int)ItemClass.GUILDCHANGENAME: { UIManager.ShowUI(UIInfo.GuildMainInfoWnd, delegate (bool bSucess, object param) { if (bSucess) { if(HasGuildMainWnd.Instance()!=null) HasGuildMainWnd.Instance().OPenChangeName(); CloseWindowStatic(); } }); return true; } } return false; } public static void ItemUse(GameItem gameItem) { Tab_UsableItem usabItem = TableManager.GetUsableItemByID(gameItem.DataID, 0); if (usabItem != null && GameManager.gameManager.m_RunningScene == 658 && usabItem.DrugType == 1) { GUIData.AddNotifyData(GCGame.Table.StrDictionary.GetClientDictionaryString("#{79513}")); return; // 在紫禁之巅禁止使用血包 } if (gameItem == null || gameItem.IsValid() == false) return; var itemGuid = gameItem.Guid; if(GlobalData.MyShortCutItemGuidList.Contains(itemGuid)) { GlobalData.MyShortCutItemGuidList.Remove(itemGuid); } var commonItem = TableManager.GetCommonItemByID(gameItem.DataID, 0); if (gameItem != null && gameItem.IsValid()) { int nPlayerLevel = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level; if (nPlayerLevel < commonItem.MinLevelRequire || nPlayerLevel > commonItem.MaxLevelRequire) { GUIData.AddNotifyData("#{1254}"); //Singleton.GetInstance().MainPlayer.SendNoticMsg(false, "#{1254}"); return; } int equipProfession = commonItem.ProfessionRequire; if (equipProfession > 0) { int nPlayerProfession = Singleton.Instance.MainPlayer.Profession; if (((equipProfession >> nPlayerProfession) & 1) == 0) { GUIData.AddNotifyData("#{5394}"); //Singleton.GetInstance().MainPlayer.SendNoticMsg(false, "#{5394}"); return; } } } if (CanOpenFunctionUI(gameItem)) //判断是否是要打开对应的UI { return; } if (gameItem != null && gameItem.IsValid()) { if (gameItem.GetClass() == (int)ItemClass.MEDIC && gameItem.GetSubClass() != (int)MedicSubClass.ATTR) { if (GlobalData.CanUseMedicItem(gameItem.DataID)) { Tab_UsableItem usableItem = TableManager.GetUsableItemByID(gameItem.DataID, 0); if (usableItem != null) { Tab_CoolDownTime coolDown = TableManager.GetCoolDownTimeByID(usableItem.CoolDownId, 0); if (coolDown != null) //记录CD结束时间 { ItemCDInfoCtr.AddItemCDInfo(usableItem.CoolDownId, coolDown.CDTime / 1000); } if (BackPackLogic.Instance() != null) { BackPackLogic.Instance().UpdateBackPack(); } } } else { CloseWindowStatic(); return; } } if (gameItem.GetClass() == (int)ItemClass.TRESURE && (gameItem.GetSubClass() != (int)TresureSubClass.UndefinedLow && gameItem.GetSubClass() != (int)TresureSubClass.UndefinedHeight)) { TresureItem.Instance.UseTresureItemInBackPack(gameItem); CloseWindowStatic(); return; } if (null != Singleton.Instance.MainPlayer && Singleton.Instance.MainPlayer.CheckUseItem(gameItem)) { Singleton.Instance.MainPlayer.UseItem(gameItem); CloseWindowStatic(); return; } if (gameItem.DataID == GlobeVar.MARRY_RING_ITEMID) { if (BackPackLogic.Instance() != null) { BackPackLogic.Instance().CloseWindow(); } if (PlayerFrameLogic.Instance() != null) { //PlayerFrameLogic.Instance().PlayerFrameHeadOnClick(); } } CloseWindowStatic(); } } void ItemBatchUse() { if (m_Item != null && m_Item.IsValid()) { InputNumBoxLogic.ShowInputBoxStatic(StrDictionary.GetClientDictionaryString("#{46351}"), m_Item.StackCount, -1, 1, m_Item.StackCount, OnBatchUseNumChoose); } } void OnBatchUseNumChoose(int num) { //if (m_Item != null && m_Item.IsValid()) //{ // for (int i = 0; i < num && i < m_Item.StackCount; i++) // { // if (null != Singleton.Instance.MainPlayer && // Singleton.Instance.MainPlayer.CheckUseItem(m_Item)) // { // Singleton.Instance.MainPlayer.BulkUseItem(m_Item, num); // } // } // CloseWindow(); //} if(num == -1) { CloseWindow(); return; } if(m_Item != null && m_Item.IsValid()) { Singleton.Instance.MainPlayer.BulkUseItem(m_Item, num); CloseWindow(); } } void ItemShareLink() { if (m_Item != null && m_Item.IsValid()) { } //ShareLinkDirectChatInfo(); } void PutInQianKunDai() { if (m_Item != null && m_Item.IsValid()) { CloseWindow(); } } void Check_NewPlayerGuide() { if (BackPackLogic.Instance() != null) { //int nIndex = BackPackLogic.Instance().NewPlayerGuideFlag_Step; //if (nIndex == 1) //{ // NewPlayerGuide(0); // BackPackLogic.Instance().NewPlayerGuideFlag_Step = -1; //} } else if (SysShopController.Instance() != null) { //int nIndex = SysShopController.Instance().NewPlayerGuide_Step; //if (nIndex == 1) //{ // NewPlayerGuide(1); // SysShopController.Instance().NewPlayerGuide_Step = -1; //} } } public void NewPlayerGuide(int nIndex) { //if (nIndex < 0) //{ // return; //} //m_NewPlayerGuideFlag_Step = nIndex; //switch (nIndex) //{ // case 0: // NewPlayerGuidLogic.OpenWindow(m_UseButton.gameObject, 130, 70, "", "right", 0, true, true); // break; // case 1: // NewPlayerGuidLogic.OpenWindow(m_BuyBatchButton.gameObject, 130, 70, "", "right", 0, true, true); // break; //} } void OnBuyClick() { if (SysShopController.Instance() != null) { //SysShopController.Instance().BuyCurItem(); } } void OnBuyBatchClick() { if (SysShopController.Instance() != null) { //SysShopController.Instance().BuyBatchCurItem(); } } void ShareLinkDirectChatInfo() { UIManager.ShowUI(UIInfo.ChatInfoRoot, ShowChatInfoRootOver); } void ShowChatInfoRootOver(bool bSuccess, object param) { if (m_Item != null && m_Item.IsValid()) { if (bSuccess) { //ChatInfoLogic.Instance().InsertItemLinkText(m_Item); ItemTooltipsLogic.Instance().CloseWindow(); } } } //寄售行求购 void ConsignSaleBuyBt() { //UIManager.ShowUI(UIInfo.ConsignSaleRoot, BuyItemOpenConsignSale); } void BuyItemOpenConsignSale(bool bSuccess, object param) { if (m_Item != null && m_Item.IsValid()) { if (bSuccess) { //if (ConsignSaleLogic.Instance() != null) //{ // ConsignSaleLogic.Instance().SearchForAskBuy(m_Item.GetName()); //} CloseWindow(); } } } void CangKuIn() { if (m_Item != null && m_Item.IsValid() && null != Singleton.Instance.MainPlayer) { Singleton.Instance.MainPlayer.CangKuPutIn(m_Item); CloseWindow(); } } void CangKuOut() { if (m_Item != null && m_Item.IsValid() && null != Singleton.Instance.MainPlayer) { Singleton.Instance.MainPlayer.CangKuTakeOut(m_Item); CloseWindow(); } } void AbsorbOnClick() { bool bRet = GameManager.gameManager.PlayerDataPool.CommonData.GetCommondFlag((int)USER_COMMONFLAG.CF_STRENGTHENFUNCTION_OPENFLAG); if (bRet == false) { Singleton.Instance.MainPlayer.SendNoticMsg(false, "#{2182}"); return; } //UIManager.ShowUI(UIInfo.EquipStren); CloseWindow(); } void ShowItemGetPath() { var pos = UIManager.Instance().UICamera.WorldToScreenPoint(transform.position); ItemGetPathPopRoot.Show(m_Item.DataID, pos); CloseWindow(); } // 请求特殊礼包4的特殊数据,使用次数和使用上限 private void AskUseCountAndLimit() { ReqSpecialGift4Info req = new ReqSpecialGift4Info(); req.itemid = m_curItem.DataID; req.SendMsg(); } // 请求特殊礼包5的特殊数据,使用次数和使用上限 private void AskPayAndNeed() { ReqSpecialGift5Info req = new ReqSpecialGift5Info(); req.itemid = m_curItem.DataID; req.SendMsg(); } void ItemBuyBack() { CG_SYSTEMSHOP_BUYBACK buyBackPacket = (CG_SYSTEMSHOP_BUYBACK)PacketDistributed.CreatePacket(MessageID.PACKET_CG_SYSTEMSHOP_BUYBACK); buyBackPacket.SetShopId((int)GameItemContainer.Type.TYPE_BUYBACKPACK); buyBackPacket.SetItemGuid(m_Item.Guid); buyBackPacket.SendPacket(); CloseWindow(); } void LiveSkillGet() { if (LiveSkillLogic.Instance()) { LiveSkillLogic.Instance().ShowLiveItem(m_Item.DataID); } CloseWindow(); } void SetShortCutUseItem() { PlayerPreferenceData.ShortCutItemId = m_Item.DataID; if (SkillBarLogic.Instance()) { SkillBarLogic.Instance().SetUseItem(); } CloseWindow(); } #region gem specil public GameObject _BtnMaxGem; public EquipMaxGemTooltips _MaxGemTips; public void ShowGemData() { _BtnMaxGem.gameObject.SetActive(true); _MenuContainer.gameObject.SetActive(false); _MaxGemTips.gameObject.SetActive(false); } public void HideGemData() { _BtnMaxGem.gameObject.SetActive(false); _MenuContainer.gameObject.SetActive(true); _MaxGemTips.gameObject.SetActive(false); } public void OnBtnShowMaxGem() { _MaxGemTips.SetGemMaxInfo(m_curItem.DataID); } #endregion }