コード例 #1
0
    void Refresh()
    {
        main = JCPVEMainController.Instance;

        JCPVETimerManager m = JCPVETimerManager.Instance;

        dm = Core.Data.newDungeonsManager;
        if (dm.explorDoors != null)
        {
            if (dm.explorDoors.exp == null)
            {
                isExpFBActive = false;
                ExploreConfigData explore = dm.GetExploreData(3);
                if (explore != null)
                {
                    if (Lab_Exp_NeedStone.gameObject.activeSelf)
                    {
                        Lab_Exp_NeedStone.gameObject.SetActive(false);
                    }
                    if (!Lab_Exp.gameObject.activeSelf)
                    {
                        Lab_Exp.gameObject.SetActive(true);
                    }
                    Lab_Exp.text = explore.opendayDesp;
                }
            }
            else
            {
                m.ExpFBCoding = ExpFBCoding;
                ExpFBCoding(Core.Data.temper.ExpDJS);
            }

            if (dm.explorDoors.gems == null)
            {
                isGemFBActive = false;
                ExploreConfigData explore = dm.GetExploreData(4);
                if (explore != null)
                {
                    if (Lab_Gem_NeedStone.gameObject.activeSelf)
                    {
                        Lab_Gem_NeedStone.gameObject.SetActive(false);
                    }
                    if (!Lab_Gem.gameObject.activeSelf)
                    {
                        Lab_Gem.gameObject.SetActive(true);
                    }
                    Lab_Gem.text = explore.opendayDesp;
                }
            }
            else
            {
                m.GemFBCoding = GemFBCoding;
                GemFBCoding(Core.Data.temper.GemDJS);
            }
        }
    }
コード例 #2
0
ファイル: BT_Logical.cs プロジェクト: mengtest/DragonBallNew
        void SyncPveTime()
        {
            NewDungeonsManager newDM = Core.Data.newDungeonsManager;

            for (int i = 1; i <= 4; i++)
            {
                ExploreConfigData config = newDM.GetExploreData(i);

                if (config != null && config.openfloor == newDM.curFightingFloor.config.ID)
                {
                    HttpTask task = new HttpTask(ThreadType.MainThread, TaskResponse.Default_Response);
                    task.AppendCommonParam(RequestType.SYNC_PVE, new SyncPveParam(Core.Data.playerManager.PlayerID));
                    task.afterCompleted += Http_Suc;
                    task.ErrorOccured   += HttpResp_Error;
                    task.DispatchToRealHandler();
                    break;
                }
            }
        }
コード例 #3
0
    void Start()
    {
        NDManager    = Core.Data.newDungeonsManager;
        list_chapter = NDManager.ChapterList;
        FloorList    = NDManager.FloorList;

        CreateMapObjectPool();

        uicenter = uiGrid.GetComponent <JCUICenterOnChild>();

        //地图点数(数量)
        int MapPointCount = LastFloorBelongMapID + 1;

        //计算开启关所在地图<章节>
        if (tempOpenFloorID > 0)
        {
            //临时跳转
            if (FloorList.TryGetValue(tempOpenFloorID, out CurOpenFloor))
            {
                ArrowAtMapID = (CurOpenFloor.BelongChapterID - NDManager.startChapterID) / 100;
            }
        }
        else
        {
            //正常跳转到最新关
            int CurOpenFloorID = NDManager.lastFloorId + 1;
            if (CurOpenFloorID > 60548)
            {
                CurOpenFloorID = 60548;
            }
            //如果关卡存在
            if (FloorList.TryGetValue(CurOpenFloorID, out CurOpenFloor))
            {
                //计算箭头所在地图
                ArrowAtMapID = (CurOpenFloor.BelongChapterID - NDManager.startChapterID) / 100;
                //如果箭头所在地图没有解锁
                while (!isUnlockMap(ArrowAtMapID, false) && CurOpenFloorID > NDManager.startFloorID)
                {
                    CurOpenFloorID--;
                    if (FloorList.TryGetValue(CurOpenFloorID, out CurOpenFloor))
                    {
                        ArrowAtMapID  = (CurOpenFloor.BelongChapterID - NDManager.startChapterID) / 100;
                        MapPointCount = ArrowAtMapID + 1;
                    }
                }
            }
        }

        CurMapIndex = ArrowAtMapID;

        //创建点
        points.Refresh(MapPointCount);
        points.SetBright(ArrowAtMapID);

        uicenter.onFinished  += MoveFinished;
        uicenter.onStartMove += MoveStarted;

        #region 初始化最近的三张地图
        for (int i = -1; i <= 1; i++)
        {
            NewChapter nchapter  = null;
            int        chapterID = 30100 + (ArrowAtMapID + i) * 100;
            list_chapter.TryGetValue(chapterID, out nchapter);
            List_Maps[i + 1].SetMap(nchapter);
            if (i == 0)
            {
                SetTitle(chapterID);
            }
        }
        if (CurMapIndex == 0 && !isUnlockMap(1, false))
        {
            _uiscrollview.enabled = false;
        }
        #endregion

        #region 设置箭头的坐标
        SetJianTouPos(CurOpenFloor);
        #endregion


        //检测最新漫画 是否 下载
        if (Core.Data.usrManager.UserConfig.cartoon == 1)
        {
            UIDownloadTexture ud = new UIDownloadTexture();
            StartCoroutine(ud.PreDownload((Core.Data.newDungeonsManager.lastFloorId + 2).ToString() + "-1.jpg"));
            StartCoroutine(ud.PreDownload((Core.Data.newDungeonsManager.lastFloorId + 2).ToString() + "-2.jpg"));
        }
    }
コード例 #4
0
ファイル: BT_Logical.cs プロジェクト: mengtest/DragonBallNew
        /// <summary>
        /// 保存战斗结果的数据
        /// </summary>
        /// <param name="battleResp">Battle resp.</param>
        private void storeWarResult(BattleResponse battleResp)
        {
            //把服务器过来的战斗结算消息赋值
            TemporyData        temp  = Core.Data.temper;
            NewDungeonsManager ddMgr = Core.Data.newDungeonsManager;

            if (temp.warBattle == null)
            {
                temp.warBattle = new BattleSequence()
                {
                    //战斗同步数据
                    sync = battleResp.data.sync,
                    // 系统奖励
                    reward = battleResp.data.reward,
                    // 掠夺奖励
                    ext = battleResp.data.ext,
                    //赌博结果
                    gambleResult = battleResp.data.gambleResult,
                    //雷达组队神秘大奖
                    radarReward = battleResp.data.radarReward,
                    //战斗序列
                    battleData = battleResp.data.battleData,
                    //PVE活动副本倒计时
                    explorDoors = battleResp.data.explorDoors,
                    //已打通的次数
                    passCount = battleResp.data.passCount,
                    //连击
                    comboReward = battleResp.data.comboReward,
                };
            }
            else
            {
                //战斗同步数据
                temp.warBattle.sync = battleResp.data.sync;
                // 系统奖励
                temp.warBattle.reward = battleResp.data.reward;
                // 掠夺奖励
                temp.warBattle.ext = battleResp.data.ext;
                //赌博结果
                temp.warBattle.gambleResult = battleResp.data.gambleResult;
                //雷达组队神秘大奖
                temp.warBattle.radarReward = battleResp.data.radarReward;
                // 战斗序列
                temp.warBattle.battleData.stars = battleResp.data.battleData.stars;
                //技能副本的引导需要这个值
                temp.warBattle.battleData.isfirst = battleResp.data.battleData.isfirst;

                temp.warBattle.explorDoors = battleResp.data.explorDoors;
                //已打通的次数
                temp.warBattle.passCount = battleResp.data.passCount;
                //连击
                temp.warBattle.comboReward = battleResp.data.comboReward;
            }

            //PVE活动副本倒计时
            if (battleResp.data.explorDoors != null)
            {
                ddMgr.explorDoors = battleResp.data.explorDoors;
            }

            //保存pvp挑战次数
            NewFloor floor = ddMgr.GetFloorData(ddMgr.curFightingFloor.config.ID);

            if (floor != null)
            {
                floor.passTimes = battleResp.data.passCount;
            }
        }
コード例 #5
0
    //安全自动显示购买弹出窗   type -->  //1:技能副本;2:战魂副本;3:经验副本;4:宝石副本
    public void AutoShowBuyBox(int type)
    {
        NewDungeonsManager ndm = Core.Data.newDungeonsManager;
        string title = null;
        string content = null;
        //是否够买一次机会
        bool haveEnoughMoney = false;

        if(type == 1)  //技能副本
        {
            VipInfoData vip =Core.Data.vipManager.GetVipInfoData(Core.Data.playerManager.curVipLv);
            if(vip != null && ndm.explorDoors != null && ndm.explorDoors.skill != null && ndm.explorDoors.skill.passCount >= ndm.explorDoors.skill.count )
            {
                if(ndm.explorDoors.skill.buyCount < vip.specialdoor1)
                {
                    title = Core.Data.stringManager.getString(9115)+":"+ndm.explorDoors.skill.buyCount.ToString()+"/"+vip.specialdoor1.ToString();
                    content = Core.Data.stringManager.getString(9116).Replace("{}","[ffff00]"+ndm.explorDoors.skill.needStone.ToString()+"[-]");
                    haveEnoughMoney = Core.Data.playerManager.Stone >= ndm.explorDoors.skill.needStone;
                }
                else
                {
                    VipInfoData data = Core.Data.vipManager.GetNextVipLevelBuyActiveFB(type,ndm.explorDoors.skill.buyCount);
                    if(data != null)
                        SQYAlertViewMove.CreateAlertViewMove(Core.Data.stringManager.getString(9120).Replace("{}",data.vipLv.ToString()));
                }
            }
        }
        else if(type ==2) //战魂副本
        {
            VipInfoData vip =Core.Data.vipManager.GetVipInfoData(Core.Data.playerManager.curVipLv);
            if(vip != null && ndm.explorDoors != null && ndm.explorDoors.souls != null && ndm.explorDoors.souls.passCount >= ndm.explorDoors.souls.count )
            {
                if(ndm.explorDoors.souls.buyCount < vip.specialdoor2)
                {
                    title = Core.Data.stringManager.getString(9115)+":"+ndm.explorDoors.souls.buyCount.ToString()+"/"+vip.specialdoor2.ToString();
                    content = Core.Data.stringManager.getString(9116).Replace("{}","[ffff00]"+ndm.explorDoors.souls.needStone.ToString()+"[-]");
                    haveEnoughMoney = Core.Data.playerManager.Stone >= ndm.explorDoors.souls.needStone;
                }
                else
                {
                    VipInfoData data = Core.Data.vipManager.GetNextVipLevelBuyActiveFB(type,ndm.explorDoors.souls.buyCount);
                    if(data != null)
                        SQYAlertViewMove.CreateAlertViewMove(Core.Data.stringManager.getString(9120).Replace("{}",data.vipLv.ToString()));
                }
            }
        }
        else if(type ==3) //经验副本
        {
            VipInfoData vip =Core.Data.vipManager.GetVipInfoData(Core.Data.playerManager.curVipLv);
            if(vip != null && ndm.explorDoors != null && ndm.explorDoors.exp != null && ndm.explorDoors.exp.passCount >= ndm.explorDoors.exp.count )
            {
                if(ndm.explorDoors.exp.buyCount < vip.specialdoor3)
                {
                    title = Core.Data.stringManager.getString(9115)+":"+ndm.explorDoors.exp.buyCount.ToString()+"/"+vip.specialdoor3.ToString();
                    content = Core.Data.stringManager.getString(9116).Replace("{}","[ffff00]"+ndm.explorDoors.exp.needStone.ToString()+"[-]");
                    haveEnoughMoney = Core.Data.playerManager.Stone >= ndm.explorDoors.exp.needStone;
                }
                else
                {
                    VipInfoData data = Core.Data.vipManager.GetNextVipLevelBuyActiveFB(type,ndm.explorDoors.exp.buyCount);
                    if(data != null)
                        SQYAlertViewMove.CreateAlertViewMove(Core.Data.stringManager.getString(9120).Replace("{}",data.vipLv.ToString()));
                }
            }
        }
        else if(type ==4) //宝石副本
        {
            VipInfoData vip =Core.Data.vipManager.GetVipInfoData(Core.Data.playerManager.curVipLv);
            if(vip != null && ndm.explorDoors != null && ndm.explorDoors.gems != null && ndm.explorDoors.gems.passCount >= ndm.explorDoors.gems.count )
            {
                if(ndm.explorDoors.gems.buyCount < vip.specialdoor4)
                {
                    title = Core.Data.stringManager.getString(9115)+":"+ndm.explorDoors.gems.buyCount.ToString()+"/"+vip.specialdoor4.ToString();
                    content = Core.Data.stringManager.getString(9116).Replace("{}","[ffff00]"+ndm.explorDoors.gems.needStone.ToString()+"[-]");
                    haveEnoughMoney = Core.Data.playerManager.Stone >= ndm.explorDoors.gems.needStone;
                }
                else
                {
                    VipInfoData data = Core.Data.vipManager.GetNextVipLevelBuyActiveFB(type,ndm.explorDoors.gems.buyCount);
                    if(data != null)
                        SQYAlertViewMove.CreateAlertViewMove(Core.Data.stringManager.getString(9120).Replace("{}",data.vipLv.ToString()));
                }
            }
        }

        //如果调用弹窗
        if(title != null && content != null)
        {
            JCPromptBox.OpenUI(title,content).OnBtnBuyClick = () =>
            {
                //客户端预判钻石
                if(haveEnoughMoney)
                {
                    HttpTask task = new HttpTask(ThreadType.MainThread, TaskResponse.Default_Response);
                    task.AppendCommonParam(RequestType.BUY_PVEACT_FB, new BuyPVEActivityFB(Core.Data.playerManager.PlayerID,type,1) );
                    task.afterCompleted = (BaseHttpRequest request, BaseResponse response) =>
                    {
                        if (response.status != BaseResponse.ERROR)
                        {
                            SyncPveResponse SPR= response as SyncPveResponse;
                            Core.Data.newDungeonsManager.explorDoors = SPR.data;
                            OnEnable();
                            if(FreshExpOrGem != null)
                            {
                                FreshExpOrGem();
                            }
                            JCPromptBox.Close();
                            DBUIController.mDBUIInstance.RefreshUserInfo();
                        }
                        else
                        {
                            SQYAlertViewMove.CreateAlertViewMove(Core.Data.stringManager.getNetworkErrorString(response.errorCode));
                        }
                    };
                    task.DispatchToRealHandler();
                }
                else
                {
                    //35006钻石不足
                    SQYAlertViewMove.CreateAlertViewMove(Core.Data.stringManager.getString(35006));
                }
            };
        }
    }
コード例 #6
0
    void OnEnable()
    {
        if(Instance == null)Instance = this;

        //初始化特殊副本是否解锁
        NewDungeonsManager newDM = Core.Data.newDungeonsManager;
        ExploreConfigData exploreConfig = newDM.GetExploreData (3);
        PVEType_Exp.isLock = (newDM.lastFloorId < exploreConfig.openfloor);

        string strText = Core.Data.stringManager.getString (9095);
        NewFloor floor = newDM.GetFloorData (exploreConfig.openfloor);
        if(floor != null)
        {
            int chapID = floor.BelongChapterID % 30000 / 100;
            string strLock = string.Format (strText, RED.GetChineseNum(chapID));
            PVEType_Exp.SetLockTxt (strLock);
        }

        exploreConfig = newDM.GetExploreData (1);
        PVEType_Skill.isLock = (newDM.lastFloorId < exploreConfig.openfloor);
        floor = newDM.GetFloorData (exploreConfig.openfloor);
        if(floor != null)
        {
            int chapID = floor.BelongChapterID % 30000 / 100;
            string strLock = string.Format (strText, RED.GetChineseNum(chapID));
            PVEType_Skill.SetLockTxt (strLock);
        }

        exploreConfig = newDM.GetExploreData (2);
        PVEType_FightSoul.isLock = (newDM.lastFloorId < exploreConfig.openfloor);
        floor = newDM.GetFloorData (exploreConfig.openfloor);
        if(floor != null)
        {
            int chapID = floor.BelongChapterID % 30000 / 100;
            string strLock = string.Format (strText, RED.GetChineseNum(chapID));
            PVEType_FightSoul.SetLockTxt (strLock);
        }

        JCPVETimerManager m = JCPVETimerManager.Instance;
        NewDungeonsManager dm = Core.Data.newDungeonsManager;
        int SkillCount = 0;
        int SkillPassCount = 2;
        int FightCount = 0;
        int FightPassCount = 2;
        if(dm.explorDoors!= null)
        {
            //技能副本
            if(dm.explorDoors.skill != null)
            {
                SkillPassCount = dm.explorDoors.skill.passCount;
                SkillCount = dm.explorDoors.skill.count;
                if(SkillPassCount < SkillCount)
                {
                     m.SkillFBCoding = SkillFBCoding;
                     SkillFBCoding(Core.Data.temper.SkillDJS);
                    if(!JCPVETimerManager.Instance.isSkillFBCoding)
                        PVEType_Skill.SetProgress(SkillPassCount,SkillCount,dm.explorDoors.skill.needStone);
                }
               else
                    PVEType_Skill.SetProgress(SkillPassCount,SkillCount,dm.explorDoors.skill.needStone);

            }
            //战魂副本
            if(dm.explorDoors.souls != null)
            {
                FightCount = dm.explorDoors.souls.count;
                FightPassCount = dm.explorDoors.souls.passCount;
                if(FightPassCount < FightCount)
                {
                     m.FightSoulFBCoding = FightSoulFBCoding;
                     FightSoulFBCoding(Core.Data.temper.FightSoulDJS);
                    if(!JCPVETimerManager.Instance.isFightSoulFBCoding)
                        PVEType_FightSoul.SetProgress(FightPassCount,FightCount,dm.explorDoors.souls.needStone);
                }
               else
                    PVEType_FightSoul.SetProgress(FightPassCount,FightCount,dm.explorDoors.souls.needStone);

            }
            int ExpAndGemCount = 0;
            if(dm.explorDoors.exp != null)
                ExpAndGemCount+=dm.explorDoors.exp.count;
            if(dm.explorDoors.gems != null)
                ExpAndGemCount+=dm.explorDoors.gems.count;

            int ExpAndGemPassCount = 0;
            if(dm.explorDoors.exp != null)
                ExpAndGemPassCount+=dm.explorDoors.exp.passCount;
            if(dm.explorDoors.gems != null)
                ExpAndGemPassCount+=dm.explorDoors.gems.passCount;

            PVEType_Exp.SetProgress2(ExpAndGemPassCount.ToString()+"/"+ExpAndGemCount.ToString());
        }
    }
コード例 #7
0
    public void OnBtnClick(string btnName,bool isBtnClick = false)
    {
        switch(btnName)
        {
        case "PVEType_Plot":
            Core.Data.newDungeonsManager .curFightingFBType = "PVEType_Plot";
            JCPVEPlotController.OpenUI().Exit = CallBackBtnReturn;
            gameObject.SetActive (false);
            break;
        case "PVEType_Exp":
            Core.Data.newDungeonsManager .curFightingFBType = "PVEType_Exp";
            JCPVEExpOrGem.OpenUI();
            break;
        case "PVEType_Skill":
            if(!JCPVETimerManager.Instance.isSkillFBCoding)
            {
                NewDungeonsManager ndm = Core.Data.newDungeonsManager;
                if(ndm.explorDoors != null && ndm.explorDoors.skill != null)
                {
                    if(ndm.explorDoors.skill.count != ndm.explorDoors.skill.passCount)
                    {
                        Core.Data.newDungeonsManager .curFightingFBType = "PVEType_Skill";
                        JCPVESkillController.OpenUI().Exit = CallBackBtnReturn;
                        gameObject.SetActive (false);
                    }
                }
            }
            if(isBtnClick)
            AutoShowBuyBox(1);
            break;
        case "PVEType_FightSoul":
            if(!JCPVETimerManager.Instance.isFightSoulFBCoding)
            {
                NewDungeonsManager ndm = Core.Data.newDungeonsManager;
                if(ndm.explorDoors != null && ndm.explorDoors.souls != null)
                {
                    if(ndm.explorDoors.souls.count != ndm.explorDoors.souls.passCount)
                    {
                        Core.Data.newDungeonsManager .curFightingFBType = "PVEType_FightSoul";
                        JCPVEFightSoulController.OpenUI().Exit = CallBackBtnReturn;
                        gameObject.SetActive (false);
                    }
                }
            }
            if(isBtnClick)
            AutoShowBuyBox(2);
            break;
        case "BackButton":
            {
                gameObject.SetActive (false);
                if (PVEDownloadCartoonController.Instance != null)
                {
                    PVEDownloadCartoonController.Instance.ClosePanel ();
                }
                DBUIController.mDBUIInstance.ShowFor2D_UI (false);

                TopMenuUI.DestroyUI ();
                break;
            }
        }
    }