public void setAoYiItem(List <AoYi> aoYiList, bool isDragonType, DragonManager.DragonType successdType = DragonManager.DragonType.None) { if (aoYiItemPrb == null) { aoYiItemPrb = PrefabLoader.loadFromPack("WHY/pbUIAoYiItem") as GameObject; } while (this.aoYiGrid.transform.childCount > 0) { GameObject g = this.aoYiGrid.transform.GetChild(0).gameObject; g.transform.parent = null; Destroy(g); } //------------ 把未解锁的奥义放到后面 ------------- List <AoYi> aoYiListTemp = new List <AoYi>(); foreach (AoYi aoYi in aoYiList) { short dragonType = aoYi.AoYiDataConfig.dragonType; if (aoYi.AoYiDataConfig.unlockLevel > Core.Data.dragonManager.DragonList[dragonType - 1].RTData.lv) { aoYiListTemp.Add(aoYi); } } foreach (AoYi aoYi in aoYiListTemp) { aoYiList.Remove(aoYi); int index = aoYiList.Count; aoYiList.Insert(index, aoYi); } //------------ End 把未解锁的奥义放到后面 ------------- foreach (AoYi aoYi in aoYiList) { short dragonType = aoYi.AoYiDataConfig.dragonType; if (isDragonType && dragonType != ((short)successdType + 1)) { continue; } GameObject aoYiItemObj = Instantiate(aoYiItemPrb) as GameObject; AoYiSlot aoYiSlot = aoYiItemObj.GetComponent <AoYiSlot>(); List_AoYiSlots.Add(aoYiSlot); aoYiSlot.transform.parent = aoYiGrid.transform; aoYiSlot.transform.localPosition = Vector3.zero; aoYiSlot.transform.localScale = Vector3.one; aoYiSlot.aoYi = aoYi; if (this.currentSelectAoYiAlertType == SelectAoYiAlertType.SelectLearnAoYi) { aoYiSlot.curAoYiType = AoYiSlot.ParentType.isLearnAoYi; } else if (this.currentSelectAoYiAlertType == SelectAoYiAlertType.SelectEquipAoYi) { aoYiSlot.curAoYiType = AoYiSlot.ParentType.isEquipAoYi; } aoYiSlot.SelectedDelegate = selectedAoYiSlot; if (/*aoYi.AoYiDataConfig.unlockLevel <= Core.Data.dragonManager.DragonList[dragonType - 1].RTData.lv &&*/ aoYi.ID != 0) // 已经学习解锁 { aoYiSlot.setUnLock(false); if (aoYi.Pos != -1) { aoYiSlot.stateRoot.SetActive(true); aoYiSlot.stateIcon.gameObject.SetActive(false); aoYiSlot.stateInfo.text = Core.Data.stringManager.getString(6111); } } else { aoYiSlot.aoYiIcon.atlas = aoYiSlot.aoYiAtlas; aoYiSlot.aoYiIcon.spriteName = aoYi.AoYiDataConfig.ID.ToString(); //aoYiSlot.aoYiIcon.MakePixelPerfect(); aoYiSlot.aoYiIcon.color = Color.gray; aoYiSlot.aoYiName.text = aoYi.AoYiDataConfig.name; if (/*aoYi.AoYiDataConfig.unlockLevel <= Core.Data.dragonManager.DragonList[dragonType - 1].RTData.lv && */ aoYi.ID == 0) // 没学习 add by wxl { aoYiSlot.lockRoot.SetActive(false); aoYiSlot.stateRoot.SetActive(true); aoYiSlot.stateIcon.gameObject.SetActive(false); aoYiSlot.stateInfo.text = Core.Data.stringManager.getString(6112); } // else if(aoYiSlot.aoYi.AoYiDataConfig.unlockLevel > Core.Data.dragonManager.DragonList[dragonType - 1].RTData.lv && aoYiSlot.aoYi.ID == 0) // 没解锁 解锁功能 取消 by wxl // { // aoYiSlot.lockRoot.SetActive(true); // aoYiSlot.info.text = Core.Data.stringManager.getString(6099).Replace("#", aoYi.AoYiDataConfig.unlockLevel.ToString()); // } } } aoYiGrid.Reposition(); // aoYiGrid.GetComponentInParent<UIGrid> ().repositionNow = true; SpringPanel.Begin(aoYiGrid.transform.parent.gameObject, new Vector3(-451, -279, 0), 13); }
//传 index 奥义槽编号 aoyi 奥义 public void setAoYiSlot(int index, DragonLockData dragonLockData, AoYi aoYi, bool isAnimation = false) { AoYiSlot aoYiSlot = aoYiSlotList[index]; aoYiSlot.dragonLockData = dragonLockData; bool isBuy = Core.Data.playerManager.RTData.aislt[dragonLockData.dragonSlot - 1] == 1; if (aoYi == null) { aoYiSlot.unLock(); aoYiSlot.aoYiName.text = ""; if (index != 0) { if (isBuy) { aoYiSlot.setAoYiSlotNoLockNoAoYi(); } else { aoYiSlot.lockRoot.SetActive(true); aoYiSlot.priceRoot.SetActive(true); // aoYiSlot.lockIconAnimation(true); if (DragonLockData.PLAYER_LEVEL_TYPE == dragonLockData.type) { if (Core.Data.playerManager.RTData.curLevel < dragonLockData.num) { aoYiSlot.lockType = AoYiSlot.LockType.Lock; aoYiSlot.setInfo(Core.Data.stringManager.getString(6053) + dragonLockData.num, "common-0013", dragonLockData.price.ToString()); } else { aoYiSlot.lockType = AoYiSlot.LockType.NoBuy; aoYiSlot.setInfo(Core.Data.stringManager.getString(6065), "common-0013", dragonLockData.price.ToString()); } } else if (DragonLockData.DIAMOND_TYPE == dragonLockData.type) { aoYiSlot.lockType = AoYiSlot.LockType.NoBuy; aoYiSlot.setInfo(Core.Data.stringManager.getString(6065), "common-0014", dragonLockData.price.ToString()); } } } else if (index == 0) { aoYiSlot.setAoYiSlotNoLockNoAoYi(); } } else { //wxl change //判定此位置是否装备已装备的奥义 如果装备已装备的奥义 则自动换位;如果此位置为空,则添加当前奥义 如果这个奥义 还有存再于其他位置 这 那个位置 为空; if (aoYi.Pos == -1) //未装备的奥义 { aoYiSlot.aoYi = aoYi; aoYiSlot.setUnLock(isAnimation); } else if (aoYi.Pos != -1) //已装备的奥义 { if (aoYiSlot.aoYi != null) //当前槽中有奥义 { if (orgAYPos != -1) { aoYiSlot.aoYi.RTAoYi.wh = orgAYPos + 1; aoYiSlotList [orgAYPos].aoYi = aoYiSlot.aoYi; } aoYiSlot.aoYi = aoYi; if (orgAYPos != -1) { aoYiSlotList [orgAYPos].setUnLock(isAnimation); orgAYPos = -1; } aoYiSlot.setUnLock(isAnimation); } else { //当前槽中 无奥义 if (aoYi.Pos != -1) { if (orgAYPos != -1) { AoYi aoyi = null; aoYiSlotList [orgAYPos].aoYi = aoyi; // aoYiSlotList [orgAYPos].setUnLock (false); aoYiSlotList [orgAYPos].SetVoidPos(); orgAYPos = -1; } aoYiSlot.aoYi = aoYi; aoYi.RTAoYi.wh = aoYiSlot.aoYi.Pos + 1; aoYiSlot.setUnLock(isAnimation); } } } } }