void UIItemInfoEventDelegate(UIEventType eventType, object data, object param) { if (eventType == UIEventType.Click) { if (data is UIKnightLevelUPItemGrid) { UIKnightLevelUPItemGrid grid = data as UIKnightLevelUPItemGrid; if (grid != null) { if (grid.ItemNum < m_needNum) { DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.GetWayPanel, data: grid.ItemID); } else { if (grid.IsBreak) { //stAddKnightRankRideUserCmd_C cmd = new stAddKnightRankRideUserCmd_C(); //NetService.Instance.Send(cmd); } else { stAddKnightExpRideUserCmd_C cmd = new stAddKnightExpRideUserCmd_C(); cmd.item = grid.ItemID; cmd.num = 1; NetService.Instance.Send(cmd); } } } } } }
public void SetGridInfo(string ItemID, uint needNum = 1) { m_needNum = needNum; UIKnightLevelUPItemGrid grid = this; uint id = 0; if (uint.TryParse(ItemID, out id)) { ItemDataBase db = GameTableManager.Instance.GetTableItem <ItemDataBase>(id); if (db != null) { grid.Init(); grid.SetIcon(true, db.itemIcon); int num = DataManager.Manager <ItemManager>().GetItemNumByBaseId(id); string numstr = StringUtil.GetNumNeedString(num, needNum); grid.SetNum(true, numstr); string name = ItemDefine.GetItemBorderIcon(db.quality); grid.SetBorder(true, name); grid.ItemID = id; grid.ItemNum = (uint)num; grid.RegisterUIEventDelegate(UIItemInfoEventDelegate); //获取途径 if (num < needNum) { grid.SetNotEnoughGet(true); } else { grid.SetNotEnoughGet(false); } } } }
void InitUPLevelItem() { int n = m_trans_ItemRoot.childCount; for (int i = 0; i < n; i++) { Transform t = m_trans_ItemRoot.Find(i.ToString()); UIKnightLevelUPItemGrid grid = t.GetComponent <UIKnightLevelUPItemGrid>(); if (grid == null) { grid = t.gameObject.AddComponent <UIKnightLevelUPItemGrid>(); } if (m_knightLevelUPIdList == null) { break; } if (i < m_knightLevelUPIdList.Count) { grid.IsBreak = false; grid.SetGridInfo(m_knightLevelUPIdList[i]); string expstr = GameTableManager.Instance.GetGlobalConfig <string>("Knight_ExpItem", m_knightLevelUPIdList[i]); if (expstr != null) { if (i == 0) { m_label_exe1Num.text = expstr; } else if (i == 1) { m_label_exe2Num.text = expstr; } else if (i == 2) { m_label_exe3Num.text = expstr; } } } } UIKnightLevelUPItemGrid breakGrid = m_trans_breakitem.GetComponent <UIKnightLevelUPItemGrid>(); if (breakGrid == null) { breakGrid = m_trans_breakitem.gameObject.AddComponent <UIKnightLevelUPItemGrid>(); } breakGrid.IsBreak = true; uint breakLv = m_rideMgr.KnightBreakLevel; uint needNum = 0; HoursemanShipUPDegree hdb = GameTableManager.Instance.GetTableItem <HoursemanShipUPDegree>(breakLv + 1); if (hdb != null) { needNum = hdb.itemNum; } breakGrid.SetGridInfo(breakItemID.ToString(), needNum); }