/// <summary> /// Gets the unlock dragon slot. 这个仅仅返回根据等级决定的神龙祭坛的槽数开放到的位置(从0开始) /// </summary> /// <returns>The unlock dragon slot.</returns> /// <param name="playerLv">Player lv.</param> public int getUnLockDragonSlot(int playerLv) { Utils.Assert(playerLv <= 0, "Player Level must greate than or equal to 1"); DragonLockData result = null; foreach (DragonLockData hbld in LockDragonConfig) { if (hbld != null && hbld.type == DragonLockData.PLAYER_LEVEL_TYPE) { if (hbld.num < playerLv) { result = hbld; continue; } else if (hbld.num == playerLv) { result = hbld; break; } else { break; } } } Utils.Assert(result == null, "player level = " + playerLv); return(result.dragonSlot - 1); }
public DragonLockData getUnLockDragonSlotConfig(int index) { DragonLockData result = null; foreach (DragonLockData dragonLockDataTemp in LockDragonConfig) { if (dragonLockDataTemp.dragonSlot == (index + 1)) { result = dragonLockDataTemp; break; } } return(result); }
/// <summary> /// Gets the unlock dragon slot. 这个仅仅返回根据宝石决定神龙祭坛的槽数开放的第5个位置(索引为4) /// </summary> /// <returns>The un lock dragon slot2.</returns> /// <param name="stone">If set to <c>true</c> stone.</param> public int getUnLockDragonSlot2(bool stone) { DragonLockData result = null; foreach (DragonLockData hbld in LockDragonConfig) { if (hbld != null && hbld.type == DragonLockData.DIAMOND_TYPE) { result = hbld; break; } } Utils.Assert(result == null, "Lock Huge Beast Config is wrong."); return(result.dragonSlot - 1); }
public DragonLockData toDragonLockData() { if (dragonLevel == 0) { DragonLockData to = new DragonLockData(); to.num = num; to.type = type; to.dragonSlot = dragonSlot; to.price = price; return(to); } else { return(null); } }
// 刷新 奥义槽 void showAoYiSolt(bool isLockData = true) { List <AoYi> aoYiList = Core.Data.dragonManager.usedToList(); for (int i = 0; i < 5; i++) { DragonLockData dragonLockData = Core.Data.dragonManager.getUnLockDragonSlotConfig(i); AoYi aoYi = aoYiList[i]; if (isLockData) { this.dragonAltar.setAoYiSlot(i, dragonLockData, aoYi); } else { this.dragonAltar.setAoYiSlot(i, aoYi); } } }
//拆分为两个数据格式 private void anaylize() { if (HugeBeastCombineConfig != null) { foreach (CombineHBData chb in HugeBeastCombineConfig) { if (chb != null) { DragonLockData hugebeastld = chb.toDragonLockData(); if (hugebeastld != null) { LockDragonConfig.Add(hugebeastld); } else { UpDragonConfig.Add(chb.toUpDragonData()); } } } HugeBeastCombineConfig.safeFree(); } }
//传 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); } } } } }