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); } } }
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; } } }
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")); } }
/// <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; } }
//安全自动显示购买弹出窗 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)); } }; } }
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()); } }
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; } } }