Пример #1
0
    /// <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);
    }
Пример #2
0
    public DragonLockData getUnLockDragonSlotConfig(int index)
    {
        DragonLockData result = null;

        foreach (DragonLockData dragonLockDataTemp in LockDragonConfig)
        {
            if (dragonLockDataTemp.dragonSlot == (index + 1))
            {
                result = dragonLockDataTemp;
                break;
            }
        }
        return(result);
    }
Пример #3
0
    /// <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);
    }
Пример #4
0
 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);
     }
 }
Пример #5
0
    // 刷新 奥义槽
    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);
            }
        }
    }
Пример #6
0
 //拆分为两个数据格式
 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();
     }
 }
Пример #7
0
    //传 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);
                    }
                }
            }
        }
    }