private void OnInitEquip() { equipGridDic = new Dictionary <GameCmd.EquipPos, UIEquipGrid>(); equipDic = new Dictionary <GameCmd.EquipPos, uint>(); GameObject cloneObj = m_trans_UIEquipGrid.gameObject; //创建装备格子初始化 if (null != m_trans_EquipmentGridRoot) { UIEquipGrid equipGridTemp = null; Transform equipTs = null; GameObject equipTemp; uint equipId = 0; string equipTypeName = ""; string name = ""; GameObject tempEquipGrid = null; for (GameCmd.EquipPos i = GameCmd.EquipPos.EquipPos_Hat; i < GameCmd.EquipPos.EquipPos_Max; i++) { if (i == GameCmd.EquipPos.EquipPos_Capes || i == GameCmd.EquipPos.EquipPos_Office) { continue; } name = i.ToString().Split(new char[] { '_' })[1]; equipTs = Util.findTransform(m_trans_EquipmentGridRoot, name); if (null == equipTs) { continue; } tempEquipGrid = NGUITools.AddChild(equipTs.gameObject, cloneObj); if (null == tempEquipGrid) { continue; } equipGridTemp = tempEquipGrid.GetComponent <UIEquipGrid>(); if (null == equipGridTemp) { equipGridTemp = tempEquipGrid.gameObject.AddComponent <UIEquipGrid>(); } equipGridTemp.InitEquipGrid(i); equipGridTemp.RegisterUIEventDelegate(OnEquipGridEventCallback); equipGridDic.Add(i, equipGridTemp); } } OnInitSuit(cloneObj); }
/// <summary> /// 装备格子事件回调 /// </summary> /// <param name="eventType"></param> /// <param name="data"></param> /// <param name="param"></param> private void OnEquipGridEventCallback(UIEventType eventType, object data, object param) { switch (eventType) { case UIEventType.Click: { UIEquipGrid equipGrid = data as UIEquipGrid; if (null != equipGrid.Data) { DataManager.Manager <UIPanelManager>().ShowOtherItemTips(equipGrid.Data, null, GetEquipGem(), m_showInfo.user_level); } else { Engine.Utility.Log.Info("Equip pos is null"); } } break; } }
private void OnInitSuit(GameObject prefab) { m_dicSuitGrid = new Dictionary <GameCmd.EquipSuitType, UIEquipGrid>(); Transform equipTs = null; UIEquipGrid equipGridTemp = null; for (GameCmd.EquipSuitType i = GameCmd.EquipSuitType.Clothes_Type; i <= GameCmd.EquipSuitType.Magic_Pet_Type; i++) { if (i == GameCmd.EquipSuitType.Back_Type || i == GameCmd.EquipSuitType.Face_Type) { continue; } string name = ""; int index = i.ToString().LastIndexOf('_'); if (index != -1) { name = i.ToString().Substring(0, index); } if (string.IsNullOrEmpty(name)) { continue; } equipTs = Util.findTransform(m_widget_Fashion.transform, name); if (equipTs == null) { continue; } GameObject tempEquipGrid = NGUITools.AddChild(equipTs.gameObject, prefab); if (null == tempEquipGrid) { continue; } equipGridTemp = tempEquipGrid.GetComponent <UIEquipGrid>(); if (null == equipGridTemp) { equipGridTemp = tempEquipGrid.AddComponent <UIEquipGrid>(); } equipGridTemp.InitSuitGrid(i); equipGridTemp.RegisterUIEventDelegate(OnSuitGridEvent); m_dicSuitGrid.Add(i, equipGridTemp); } }
private void OnSuitGridEvent(UIEventType eventType, object data, object param) { switch (eventType) { case UIEventType.Click: { UIEquipGrid equipGrid = data as UIEquipGrid; if (equipGrid.SuitData.suitBaseID != 0) { table.SuitDataBase database = GameTableManager.Instance.GetTableItem <table.SuitDataBase>(equipGrid.SuitData.suitBaseID, 1); if (database != null) { DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.FashionTips, data: database); } } else { Engine.Utility.Log.Info("Equip pos is null"); } } break; } }
/// <summary> /// 显示装备 /// </summary> /// <param name="itemList"></param> private void OnShowEquipGridInfo(List <GameCmd.ItemSerialize> itemList) { //装备栏 GameCmd.ItemSerialize equipItem = null; uint cacheEquipId = 0; UIEquipGrid equipGrid = null; BaseItem baseItem = null; bool needSetData = false; //GameCmd.eItemAttribute for (GameCmd.EquipPos i = GameCmd.EquipPos.EquipPos_Hat; i < GameCmd.EquipPos.EquipPos_Max; i++) { if (i == GameCmd.EquipPos.EquipPos_Capes || i == GameCmd.EquipPos.EquipPos_Office) { continue; } needSetData = false; if (equipGridDic.TryGetValue(i, out equipGrid)) { if (Equip(itemList, (int)i, out equipItem)) { baseItem = new BaseEquip(equipItem.dwObjectID, equipItem); if (equipDic.TryGetValue(i, out cacheEquipId) && cacheEquipId != equipItem.qwThisID) { equipDic[i] = equipItem.qwThisID; needSetData = true; } else if (!equipDic.ContainsKey(i)) { equipDic.Add(i, equipItem.qwThisID); needSetData = true; } if (needSetData) { equipGrid.SetGridData(baseItem); } } else { baseItem = null; if (equipDic.ContainsKey(i)) { equipDic[i] = 0; } needSetData = true; } if (needSetData) { equipGrid.SetGridData(baseItem); } //强化等级 GameCmd.StrengthList strengthData = this.m_showInfo.strengthList.Find((data) => { return(data.equip_pos == i); }); if (strengthData != null) { equipGrid.UpdateStrengthenInfo(strengthData.level, baseItem != null); } else { equipGrid.UpdateStrengthenInfo(0, baseItem != null); } } } }