private static void LoadHero() { var HeroI = new DungeonsInfo() { DungeonID = 40, RequiredLevel = 40, TimeStamps = new List <TimeStamp>() }; HeroI.TimeStamps.Add(new TimeStamp() { StampOpen = 1516406400, StampClose = 1516407600 }); HeroI.TimeStamps.Add(new TimeStamp() { StampOpen = 1516408800, StampClose = 1516410000 }); HeroI.TimeStamps.Add(new TimeStamp() { StampOpen = 1516411200, StampClose = 1516412400 }); HeroI.TimeStamps.Add(new TimeStamp() { StampOpen = 1516413600, StampClose = 1516414800 }); HeroI.TimeStamps.Add(new TimeStamp() { StampOpen = 1516416000, StampClose = 1516417200 }); HeroI.TimeStamps.Add(new TimeStamp() { StampOpen = 1516418400, StampClose = 1516419600 }); HeroI.TimeStamps.Add(new TimeStamp() { StampOpen = 1516420800, StampClose = 1516423200 }); HeroI.TimeStamps.Add(new TimeStamp() { StampOpen = 1516424400, StampClose = 1516424400 }); HeroI.TimeStamps.Add(new TimeStamp() { StampOpen = 1516429200, StampClose = 1516430400 }); HeroI.TimeStamps.Add(new TimeStamp() { StampOpen = 1516432800, StampClose = 1516434000 }); HeroI.TimeStamps.Add(new TimeStamp() { StampOpen = 1516435200, StampClose = 1516436400 }); HeroI.TimeStamps.Add(new TimeStamp() { StampOpen = 1516437600, StampClose = 1516438800 }); HeroI.TimeStamps.Add(new TimeStamp() { StampOpen = 1516440000, StampClose = 1516441200 }); HeroI.TimeStamps.Add(new TimeStamp() { StampOpen = 1516442400, StampClose = 1516443600 }); HeroI.TimeStamps.Add(new TimeStamp() { StampOpen = 1516444800, StampClose = 1516446000 }); HeroI.TimeStamps.Add(new TimeStamp() { StampOpen = 1516447200, StampClose = 1516448400 }); HeroI.TimeStamps.Add(new TimeStamp() { StampOpen = 1516449600, StampClose = 1516450800 }); GameServer.HeroEpic.Add(HeroI); var HeroII = new DungeonsInfo() { DungeonID = 63, RequiredLevel = 30, TimeStamps = new List <TimeStamp>() }; HeroII.TimeStamps.Add(new TimeStamp() { StampOpen = 1516406400, StampClose = 1516407600 }); HeroII.TimeStamps.Add(new TimeStamp() { StampOpen = 1516408800, StampClose = 1516410000 }); HeroII.TimeStamps.Add(new TimeStamp() { StampOpen = 1516411200, StampClose = 1516412400 }); HeroII.TimeStamps.Add(new TimeStamp() { StampOpen = 1516413600, StampClose = 1516414800 }); HeroII.TimeStamps.Add(new TimeStamp() { StampOpen = 1516416000, StampClose = 1516417200 }); HeroII.TimeStamps.Add(new TimeStamp() { StampOpen = 1516418400, StampClose = 1516419600 }); HeroII.TimeStamps.Add(new TimeStamp() { StampOpen = 1516420800, StampClose = 1516423200 }); HeroII.TimeStamps.Add(new TimeStamp() { StampOpen = 1516424400, StampClose = 1516424400 }); HeroII.TimeStamps.Add(new TimeStamp() { StampOpen = 1516429200, StampClose = 1516430400 }); HeroII.TimeStamps.Add(new TimeStamp() { StampOpen = 1516432800, StampClose = 1516434000 }); HeroII.TimeStamps.Add(new TimeStamp() { StampOpen = 1516435200, StampClose = 1516436400 }); HeroII.TimeStamps.Add(new TimeStamp() { StampOpen = 1516437600, StampClose = 1516438800 }); HeroII.TimeStamps.Add(new TimeStamp() { StampOpen = 1516440000, StampClose = 1516441200 }); HeroII.TimeStamps.Add(new TimeStamp() { StampOpen = 1516442400, StampClose = 1516443600 }); HeroII.TimeStamps.Add(new TimeStamp() { StampOpen = 1516444800, StampClose = 1516446000 }); HeroII.TimeStamps.Add(new TimeStamp() { StampOpen = 1516447200, StampClose = 1516448400 }); HeroII.TimeStamps.Add(new TimeStamp() { StampOpen = 1516449600, StampClose = 1516450800 }); GameServer.HeroEpic.Add(HeroII); }
//根据服务器的进度,设置好地下城每个子关卡的进度 private void anaylizeProgress(DungeonsInfo dungeonse) { Utils.Assert(dungeonse == null, "We did not get dungeonse information from server."); if (dungeonse.pro != null && dungeonse.pro.Count > 0) { //endProId = dungeonse.pro[ dungeonse.pro.Count -1].; foreach (int[] oneFloor in dungeonse.pro) { if (oneFloor != null) { int floorId = oneFloor[DungeonsInfo.ID_POS]; int progress = oneFloor[DungeonsInfo.PRO_POS]; if (progress > 0) { Floor floor = null; if (FloorList.TryGetValue(floorId, out floor)) { if (floor.isBoss) { floor.curFreeTimes = floor.config.laveTime - progress; if (floor.curFreeTimes < 0) { floor.curFreeTimes = 0; } /*add by jc*/ floor.curProgress = progress; } else { floor.curProgress = progress; //给City里填充toFightFloorId City city = null; if (CityList.TryGetValue(reverseToCity(floorId).ID, out city)) { if (floor.curProgress < floor.config.wave) { city.toFightFloorId = floorId; } else { city.toFightFloorId = getNextFloorId(floorId); } } int[] floorIds = getFloorIds_Less(floorId); if (floorIds != null && floorIds.Length > 0) { Floor less = null; foreach (int id in floorIds) { if (FloorList.TryGetValue(id, out less)) { less.curProgress = less.config.wave; } } } } } } } } } }
//网络初始化 public override void fullfillByNetwork(BaseResponse response) { if (response != null && response.status != BaseResponse.ERROR) { LoginResponse loginResp = response as LoginResponse; if (loginResp != null && loginResp.data != null && loginResp.data.floor != null) { InitData(); lastFloorId = loginResp.data.floor.end; if (lastFloorId == 0) { lastFloorId = startFloorID; } DungeonsInfo dungeonse = loginResp.data.floor; if (dungeonse != null && dungeonse.pro != null) { foreach (int[] oneFloor in dungeonse.pro) { int floorId = oneFloor[0]; int star = oneFloor[1]; NewFloor floor = null; if (FloorList.TryGetValue(floorId, out floor)) { floor.star = star; } } } //设置各个小关卡的状态 NewFloor floordata = null; int floorid = startFloorID; for (; floorid <= lastFloorId; floorid++) { if (FloorList.TryGetValue(floorid, out floordata)) { floordata.state = NewFloorState.Pass; } } Debug.Log("CurrentID=" + floorid.ToString()); //设置开启的下一关<当前关卡> if (FloorList.TryGetValue(floorid, out floordata)) { floordata.state = NewFloorState.Current; } //开启PVE副本倒计时 if (loginResp.data.explorDoors != null) { explorDoors = loginResp.data.explorDoors; AsyncTask.QueueOnMainThread(() => { JCPVETimerManager.Instance.AutoOpenPVESystemTimer(); }); } Analysis(); // AnaylizeFloor(); } //挑战次数和重置次数 if (loginResp != null && loginResp.data != null && loginResp.data.doorDayStatus != null) { for (int i = 0; i < loginResp.data.doorDayStatus.Length; i++) { DoorDayStatus doorStatus = loginResp.data.doorDayStatus [i]; NewFloor newflr = GetFloorData(doorStatus.doorId); if (newflr != null) { newflr.passTimes = doorStatus.passCount; newflr.resetTimes = doorStatus.resetCount; } else { RED.LogWarning(doorStatus.doorId + "not find floor data"); } } } } //更新招募和位置2是否解锁 PlayerManager playerMgr = Core.Data.playerManager; if (playerMgr.RTData != null && playerMgr.RTData.curTeam != null) { Core.Data.BuildingManager.ZhaoMuUnlock = (playerMgr.RTData.curTeam.getMember(1) != null); //|| lastFloorId >= 60104); } }