Esempio n. 1
0
    public List <AoYi> getAllAoYi()
    {
        List <AoYi>     aoYiList     = new List <AoYi>();
        List <AoYiData> aoYiDataList = new List <AoYiData>(AoyiConfig.Values);

        for (int i = 0; i < aoYiDataList.Count; i++)
        {
            AoYiData aoYiData = aoYiDataList[i];
            AoYi     aoYi     = null;

            foreach (AoYi aoyiTemp in this.AoYiDic.Values)
            {
                if (aoYiData.ID == aoyiTemp.AoYiDataConfig.ID)
                {
                    aoYi = aoyiTemp;
                    break;
                }
            }

            if (aoYi == null)
            {
                aoYi = new AoYi(new RTAoYi(aoYiData.ID), aoYiData);
                aoYiList.Insert(aoYiList.Count, aoYi);
            }
            else
            {
                aoYiList.Insert(0, aoYi);
            }
        }
        return(aoYiList);
    }
Esempio n. 2
0
    public void learnAoYiCompleted(BaseHttpRequest request, BaseResponse response)
    {
        if (response != null && response.status != BaseResponse.ERROR)
        {
            LearnAoYiResponse learnAoYiResponse = response as LearnAoYiResponse;
            if (learnAoYiResponse.data != null)
            {
                AoYi aoyi = new AoYi(learnAoYiResponse.data, this);
                this.AoYiDic[aoyi.ID] = aoyi;
                if (learnAoYiCompletedDelegate != null)
                {
                    learnAoYiCompletedDelegate(aoyi);
                }
                // if(aoyi.AoYiDataConfig.dragonType == 1){
                if (aoyi != null)
                {
                    Core.Data.dragonManager.isCheckedCallDragon [aoyi.AoYiDataConfig.dragonType - 1] = false;
                }

                SQYAlertViewMove.CreateAlertViewMove(Core.Data.stringManager.getString(5155));
            }
        }
        else if (response != null)
        {
            SQYAlertViewMove.CreateAlertViewMove(Core.Data.stringManager.getNetworkErrorString(response.errorCode));
            Core.Data.dragonManager.learnAoYiCompletedDelegate = null;
        }
        ComLoading.Close();
    }
 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;
         }
     }
 }
Esempio n. 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();
        }
    }
    // 刷新 奥义槽
    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);
            }
        }
    }
Esempio n. 6
0
    void equipAoYiCompleted(bool succ)
    {
        Core.Data.dragonManager.equipAoYiCompletedDelegate = null;

        AoYi equipAoYi = null;

        foreach (AoYi aoyiTemp in Core.Data.dragonManager.AoYiDic.Values)
        {
            if (aoyiTemp.Pos == currentEquipPos)
            {
                aoyiTemp.RTAoYi.wh = 0;
            }
            else if (aoyiTemp.AoYiDataConfig.ID == equipAoYiData.ID)
            {
                aoyiTemp.RTAoYi.wh = currentEquipPos + 1;
                equipAoYi          = aoyiTemp;
            }
        }

        this.setAoYiSlot(currentEquipPos, Core.Data.dragonManager.getUnLockDragonSlotConfig(currentEquipPos), equipAoYi, true);
    }
//    protected override void OnDragDropMove(Vector3 delta)
//    {
//        if (mTrans.gameObject.GetComponent<AoYiSlot>().aoYi == null)
//            return;
//        base.OnDragDropMove(delta);
//    }

    void ChangeAoyiPosInData(AoYi curAoYi, AoYi targetAoYi)
    {
        Debug.Log(" change aoyi  pos  = " + curAoYi.ID + " pos  == " + (targetAoYi.Pos + 1));
        if (curAoYi != null && targetAoYi.Pos != -1)
        {
            int tP = curAoYi.Pos;
            Core.Data.dragonManager.equipAoYiRequest(curAoYi.ID, targetAoYi.Pos + 1);
            curAoYi.RTAoYi.wh    = targetAoYi.Pos + 1;
            targetAoYi.RTAoYi.wh = tP + 1;


            foreach (AoYi aoyiTemp in Core.Data.dragonManager.AoYiDic.Values)
            {
                if (aoyiTemp.Pos == targetAoYi.Pos)
                {
                    aoyiTemp.RTAoYi.wh = tP + 1;
                }
                else if (aoyiTemp.AoYiDataConfig.ID == curAoYi.ID)
                {
                    aoyiTemp.RTAoYi.wh = targetAoYi.Pos + 1;
                }
            }
        }
    }
    public void learnAoYiCompleted(AoYi aoYi)
    {
        Core.Data.dragonManager.learnAoYiCompletedDelegate = null;

        List <Soul>     dragonBallList        = null;
        List <UILabel>  dragonBallCountList   = null;
        List <UISprite> dragonBallIconList    = null;
        List <UISprite> dragonBallCountBGList = null;

        DragonManager.DragonType setDragonType = DragonManager.DragonType.None;

        if (aoYi.AoYiDataConfig.dragonType == ((short)DragonManager.DragonType.EarthDragon + 1))
        {
            dragonBallList        = Core.Data.soulManager.GetFramentByType(ItemType.Earth_Frage);
            dragonBallCountList   = this.earthDragonBallCountList;
            dragonBallIconList    = this.earthDragonBallIconList;
            setDragonType         = DragonManager.DragonType.EarthDragon;
            dragonBallCountBGList = this.earthBallBg;
        }
        else
        {
            dragonBallList        = Core.Data.soulManager.GetFramentByType(ItemType.Nameike_Frage); //Core.Data.itemManager.getDragonBall(ItemType.Nameike_Frage);
            dragonBallCountList   = this.NMKXDragonBallCountList;
            dragonBallIconList    = this.NMKXDragonBallIconList;
            setDragonType         = DragonManager.DragonType.NMKXDragon;
            dragonBallCountBGList = this.NMKXBallBg;
        }

        ReduceDragonBallCount(dragonBallList);

        setDragonBallCount(dragonBallList, dragonBallCountList, dragonBallIconList, dragonBallCountBGList, setDragonType);

        showAoYiSolt(false);

        if (setDragonType == Core.Data.dragonManager.currentDragonType)
        {
            changeCallDragonButtonState((dragonBallList.Count == 7) && (Core.Data.dragonManager.DragonList[(int)Core.Data.dragonManager.currentDragonType].RTData.st == (long)0));
        }

        for (int i = 0; i < Core.Data.dragonManager.callDragonSucceed.Length; i++)
        {
            if (Core.Data.dragonManager.callDragonSucceed[i])
            {
//                TaskID taskID = TaskID.None;
//                if((DragonManager.DragonType)i == DragonManager.DragonType.EarthDragon)
//                {
//                    taskID = TaskID.CallEarthDragonTimer;
//                }
//                else if ((DragonManager.DragonType)i == DragonManager.DragonType.NMKXDragon)
//                {
//                    taskID = TaskID.CallNMKXDragonTimer;
//                }

                Core.Data.dragonManager.callDragonSucceed[i] = false;
                break;
            }
        }

        gameObject.GetComponent <UIShenlongBallAnim> ().StopLabelEffect();

        canSync = true;
    }
Esempio n. 9
0
    public override void fullfillByNetwork(BaseResponse response)
    {
        if (response != null && response.status != BaseResponse.ERROR)
        {
            LoginResponse loginResp = response as LoginResponse;
            if (loginResp != null && loginResp.data != null)
            {
                //奥义
                if (loginResp.data.aoyi != null)
                {
                    //clear dirty data
                    AoYiDic.Clear();
                    foreach (RTAoYi rt in loginResp.data.aoyi)
                    {
                        if (rt != null)
                        {
                            AoYi ao = new AoYi(rt, this);
                            AoYiDic.Add(ao.ID, ao);
                        }
                    }
                }

                //神龙
                if (loginResp.data.dragon != null)
                {
                    DragonList.Clear();

                    Core.TimerEng.deleteTask(new TaskID[] { TaskID.CallEarthDragonTimer, TaskID.CallNMKXDragonTimer });

                    foreach (DragonInfo di in loginResp.data.dragon)
                    {
                        if (di != null)
                        {
                            Dragon d = new Dragon(di, this, Core.Data.soulManager);
                            DragonList.Add(d);
                            if (d.RTData.st != 0)
                            {
                                long callDragonEndTime = d.RTData.st + d.RTData.dur;
                                long res = Core.TimerEng.curTime - callDragonEndTime;

                                if (res < 0)
                                {
                                    RED.Log("res <0 " + this.callDragonSucceed[(d.RTData.num - 1)]);
                                    this.callDragonSucceed[(d.RTData.num - 1)] = false;
                                    d.RTData.st = Core.TimerEng.curTime;
                                    startCallDragonTimer((DragonType)(d.RTData.num - 1), Core.TimerEng.curTime, callDragonEndTime);
                                }
                                else if (res >= 0)
                                {
                                    d.RTData.st  = 0;
                                    d.RTData.dur = 0;
                                    RED.Log(" res >=0 " + this.callDragonSucceed[(d.RTData.num - 1)]);
                                    this.callDragonSucceed[(d.RTData.num - 1)] = true;
                                }
                            }
                        }
                    }
                }

                // 免战
                long res1 = Core.TimerEng.curTime - Core.Data.playerManager.RTData.shiled;
                if (res1 < 0)
                {
                    Core.TimerEng.deleteTask(TaskID.DragonMianZhanTimer);

                    startMianZhanTimer(Core.TimerEng.curTime, Core.Data.playerManager.RTData.shiled);
                }
                else
                {
                    Core.TimerEng.deleteTask(TaskID.DragonMianZhanTimer);
                    this.mianZhanTime = 0;
                }
            }
        }
    }
Esempio n. 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);
                    }
                }
            }
        }
    }