Пример #1
0
    public void Init()
    {
        GameObject aoYiItemPrb = PrefabLoader.loadFromPack("WHY/pbUIAoYiItem") as GameObject;

        if (aoYiSlotList.Count < 5)
        {
            for (int i = 0; i < 5; i++)
            {
                GameObject aoYiItemObj = Instantiate(aoYiItemPrb) as GameObject;
                AoYiSlot   aoYiSlot    = aoYiItemObj.GetComponent <AoYiSlot> ();

                aoYiSlot.transform.parent = aoYiSlotListTransform;

                aoYiSlot.transform.localPosition = Vector3.zero;

                aoYiSlot.transform.localScale = Vector3.one;

                aoYiSlot.SelectedDelegate = showSelectAoYiList;

                aoYiSlot.curAoYiType = AoYiSlot.ParentType.isNormal;

                aoYiSlotList.Add(aoYiSlot);
            }
        }
    }
Пример #2
0
 static public int SortByTransform(AoYiSlot a, AoYiSlot b)
 {
     if (a.transform.localPosition.x >= b.transform.localPosition.x)
     {
         return(1);
     }
     else
     {
         return(-1);
     }
 }
Пример #3
0
 public void selectedAoYi(AoYi aoYi)
 {
     AoYiSlot[] aoYiSlots = aoYiGrid.GetComponentsInChildren <AoYiSlot>();
     for (int i = 0; i < aoYiSlots.Length; i++)
     {
         AoYiSlot aoYiSlotTemp = aoYiSlots[i];
         if (aoYi.AoYiDataConfig.ID == aoYiSlotTemp.aoYi.AoYiDataConfig.ID)
         {
             selectedAoYiSlot(aoYiSlotTemp);
             return;
         }
     }
 }
Пример #4
0
    public void setAoYiSlot(int index, AoYi aoYi)
    {
        if (aoYi == null)
        {
            return;
        }
        AoYiSlot aoYiSlot = aoYiSlotList[index];

        if (aoYiSlot.lockType != AoYiSlot.LockType.NoBuy)
        {
            aoYiSlot.aoYi = aoYi;
            aoYiSlot.setAoYi();
        }
    }
Пример #5
0
    public void buyAoYiSlotCompleted(int slot)
    {
        Core.Data.dragonManager.buyAoYiSlotCompletedDelegate = null;
        slot = slot - 1;
        if (slot >= aoYiSlotList.Count)
        {
            return;
        }
        Core.Data.playerManager.RTData.aislt[slot] = 1;

        AoYiSlot aoYiSlot = aoYiSlotList[slot];

        aoYiSlot.lockIconAnimation(true);

        sortAoYiSlot();

        DBUIController.mDBUIInstance.RefreshUserInfoWithoutShow();
        //DBUIController.mDBUIInstance.RefreshUserInfo();
    }
Пример #6
0
    public void sortAoYiSlot()
    {
        float x = -370;

        List <AoYiSlot> isBuyAoYiSlot = new List <AoYiSlot>();
        List <AoYiSlot> noBuyAoYiSlot = new List <AoYiSlot>();

        for (int i = 0; i < aoYiSlotList.Count; i++)
        {
            AoYiSlot aoYiSlot = aoYiSlotList[i];

            if (aoYiSlot.lockType == AoYiSlot.LockType.NoLock)
            {
                isBuyAoYiSlot.Add(aoYiSlot);
            }
            else
            {
                noBuyAoYiSlot.Add(aoYiSlot);
            }
        }

        for (int i = 0; i < isBuyAoYiSlot.Count; i++)
        {
            AoYiSlot aoYiSlot = isBuyAoYiSlot[i];

            aoYiSlot.gameObject.transform.localPosition = new Vector3(x, -300, 0);
            x += 195;
        }

        for (int i = 0; i < noBuyAoYiSlot.Count; i++)
        {
            AoYiSlot aoYiSlot = noBuyAoYiSlot[i];

            aoYiSlot.gameObject.transform.localPosition = new Vector3(x, -300, 0);
            x += 195;
        }
    }
Пример #7
0
    public void selectedAoYiSlot(AoYiSlot aoYiSlot)
    {
        //        Debug.Log("---------------------------selectedAoYiSlot------------------------");
        AoYiSlot[] aoYiSlots  = aoYiGrid.GetComponentsInChildren <AoYiSlot>();
        string     dragonType = "";

        for (int i = 0; i < aoYiSlots.Length; i++)
        {
            AoYiSlot aoYiSlotTemp = aoYiSlots[i];
            //Debug.Log(aoYiSlotTemp.aoYiName.text +"        "+aoYiSlot.aoYiName.text);
            if (aoYiSlotTemp.selectedBackground.activeSelf && aoYiSlotTemp != aoYiSlot)
            {
                aoYiSlotTemp.selectedBackground.SetActive(false);
            }
            else if (aoYiSlotTemp == aoYiSlot)
            {
                aoYiSlotTemp.selectedBackground.SetActive(true);
                StartCoroutine(RefreshDiaObj(true));
            }
        }
        if (lblAoyiDesp != null)
        {
            int index = 0;
            if (aoYiSlot.aoYi.RTAoYi != null)
            {
                index = aoYiSlot.aoYi.RTAoYi.lv - 1;
                if (index < 0)
                {
                    index = 0;
                }
            }

            float[] formatList = aoYiSlot.aoYi.AoYiDataConfig.full_effect(index);

            object[] format = new object[formatList.Length];
            for (int i = 0; i < formatList.Length; i++)
            {
                format[i] = formatList[i];
            }

            lblAoyiDesp.text = aoYiSlot.aoYi.AoYiDataConfig.name + ": " + string.Format(aoYiSlot.aoYi.AoYiDataConfig.description, format);
        }

        if (aoYiDesLabel != null)
        {
            int index = 0;
            if (aoYiSlot.aoYi.RTAoYi != null)
            {
                index = aoYiSlot.aoYi.RTAoYi.lv - 1;
                if (index < 0)
                {
                    index = 0;
                }
            }

            float[] formatList = aoYiSlot.aoYi.AoYiDataConfig.full_effect(index);

            object[] format = new object[formatList.Length];
            for (int i = 0; i < formatList.Length; i++)
            {
                format[i] = formatList[i];
            }
            if (aoYiSlot.aoYi.AoYiDataConfig.dragonType == 1)   //地球
            {
                dragonType = Core.Data.stringManager.getString(7374);
            }
            else
            {
                dragonType = Core.Data.stringManager.getString(7375);
            }
            aoYiDesLabel.text = Core.Data.stringManager.getString(6113) + dragonType + ": " + string.Format(aoYiSlot.aoYi.AoYiDataConfig.description, format);
            //             aoYiDesLabel.text = Core.Data.stringManager.getString(6113) + string.Format(aoYiSlot.aoYi.AoYiDataConfig.description, format);
        }
    }
Пример #8
0
    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);
    }
Пример #9
0
    void showSelectAoYiList(AoYiSlot aoYiSlot)
    {
        StartCoroutine(aoYiSlot.showSelectedBackground());

        int index = -1;

        for (int i = 0; i < this.aoYiSlotList.Count; i++)
        {
            AoYiSlot aoYiSlotTemp = this.aoYiSlotList[i];
            if (aoYiSlot == aoYiSlotTemp)
            {
                index = i;
                break;
            }
        }


        if (index == -1)
        {
            RED.LogError("UIDragonAltar Not AoYiSlot");
            return;
        }

        currentEquipPos = index;

        if (aoYiSlot.lockType == AoYiSlot.LockType.NoLock)
        {
            List <AoYi> noPosAoYiList = Core.Data.dragonManager.getNoPosAoYi();
            if (noPosAoYiList.Count == 0)
            {
                SQYAlertViewMove.CreateAlertViewMove(Core.Data.stringManager.getString(6070));
                return;
            }

            if (selectAoYiPrb == null)
            {
                selectAoYiPrb = PrefabLoader.loadFromPack("WHY/pbUISelectAoYiPanel") as GameObject;
            }

            GameObject selectAoYiAlertObj = Instantiate(selectAoYiPrb) as GameObject;
            selectAoYiAlertObj.transform.parent        = DBUIController.mDBUIInstance._bottomRoot.transform;;
            selectAoYiAlertObj.transform.localPosition = Vector3.zero;
            selectAoYiAlertObj.transform.localPosition = this.transform.localPosition + Vector3.back * 10;
            selectAoYiAlertObj.transform.localScale    = Vector3.one;

            //wxl change
            // RED.TweenShowDialog(selectAoYiAlertObj);
            selectAoYiAlert = selectAoYiAlertObj.GetComponent <UISelectAoYiAlert>();

            selectAoYiAlert.currentSelectAoYiAlertType  = UISelectAoYiAlert.SelectAoYiAlertType.SelectEquipAoYi;
            selectAoYiAlert.selectAoYiCompletedDelegate = equipAoYiCompleted;

            selectAoYiAlert.setAoYiItem(Core.Data.dragonManager.getAllAoYi(), false);

            if (aoYiSlot.aoYi != null)
            {
                selectAoYiAlert.selectedAoYi(aoYiSlot.aoYi);
            }
        }
        else if (aoYiSlot.lockType == AoYiSlot.LockType.NoBuy)
        {
            string info = "";
            if (DragonLockData.PLAYER_LEVEL_TYPE == aoYiSlot.dragonLockData.type)
            {
                info = Core.Data.stringManager.getString(6067).Replace("#", aoYiSlot.dragonLockData.price.ToString());
            }
            else if (DragonLockData.DIAMOND_TYPE == aoYiSlot.dragonLockData.type)
            {
                info = Core.Data.stringManager.getString(6068).Replace("#", aoYiSlot.dragonLockData.price.ToString());
            }

            buyAoYiSlot = aoYiSlot;

            UIInformation.GetInstance().SetInformation(
                info,
                Core.Data.stringManager.getString(6057),
                Core.Data.stringManager.getString(6069),
                buyAoYiSlotCallBack);
        }
        else if (aoYiSlot.lockType == AoYiSlot.LockType.Lock)
        {
            SQYAlertViewMove.CreateAlertViewMove(Core.Data.stringManager.getString(6066));
        }
    }
Пример #10
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);
                    }
                }
            }
        }
    }