示例#1
0
        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);
        }
示例#2
0
    //根据服务器的进度,设置好地下城每个子关卡的进度
    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;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
示例#3
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 && 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);
        }
    }