Files
JJBB/Assets/Project/Script/GUI/Message/ItemTooltipsLogic.cs

1879 lines
69 KiB
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00

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<ItemGetPathPopRoot.GetPathData> pathList = new List<ItemGetPathPopRoot.GetPathData>();
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 + "</color>";
}
}
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) + "</color>";
}
}
}
}
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("<color=#44E736FF>{0}</color>", packet.payTimes);
}
else
{
payTime = string.Format("<color=#FBF6F6FF>{0}</color>", 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<ObjManager>.Instance.MainPlayer.ClientImpactInfos.Count; ++i)
{
_ImpactId = Singleton<ObjManager>.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<GameItem> selllist = new List<GameItem>();
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<ObjManager>.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<ObjManager>.Instance.MainPlayer &&
Singleton<ObjManager>.Instance.MainPlayer.CheckUseItem(item))
{
Singleton<ObjManager>.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<ObjManager>.Instance.MainPlayer &&
Singleton<ObjManager>.Instance.MainPlayer.CheckUseItem(item))
{
Singleton<ObjManager>.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<ObjManager>.GetInstance().MainPlayer.SendNoticMsg(false, "#{1254}");
return;
}
int equipProfession = commonItem.ProfessionRequire;
if (equipProfession > 0)
{
int nPlayerProfession = Singleton<ObjManager>.Instance.MainPlayer.Profession;
if (((equipProfession >> nPlayerProfession) & 1) == 0)
{
GUIData.AddNotifyData("#{5394}");
//Singleton<ObjManager>.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<ObjManager>.Instance.MainPlayer &&
Singleton<ObjManager>.Instance.MainPlayer.CheckUseItem(gameItem))
{
Singleton<ObjManager>.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<ObjManager>.Instance.MainPlayer &&
// Singleton<ObjManager>.Instance.MainPlayer.CheckUseItem(m_Item))
// {
// Singleton<ObjManager>.Instance.MainPlayer.BulkUseItem(m_Item, num);
// }
// }
// CloseWindow();
//}
if(num == -1)
{
CloseWindow();
return;
}
if(m_Item != null && m_Item.IsValid())
{
Singleton<ObjManager>.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<ObjManager>.Instance.MainPlayer)
{
Singleton<ObjManager>.Instance.MainPlayer.CangKuPutIn(m_Item);
CloseWindow();
}
}
void CangKuOut()
{
if (m_Item != null && m_Item.IsValid() && null != Singleton<ObjManager>.Instance.MainPlayer)
{
Singleton<ObjManager>.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<ObjManager>.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
}