public bool IsGradeAchieved(int copyId, ref int levelLimit) { bool result; if (copyId != 0 && copyId != 10000) { levelLimit = PveInfoMgr.GetPveInfoById(copyId).LevelLimits; result = (this.m_host.PlayerCharacter.Grade >= levelLimit); } else { result = true; } return(result); }
public static BaseGame StartPVEGame(int roomId, List <IGamePlayer> players, int copyId, eRoomType roomType, eGameType gameType, int timeType, eHardLevel hardLevel, int levelLimits) { BaseGame result; try { List <PetSkillElementInfo> gameNeedPetSkillInfoList = PetMgr.GameNeedPetSkill(); PveInfo pveInfo; if (copyId == 0 || copyId == 100000) { pveInfo = PveInfoMgr.GetPveInfoByType(roomType, levelLimits); } else { pveInfo = PveInfoMgr.GetPveInfoById(copyId); } if (pveInfo != null) { PVEGame pVEGame = new PVEGame(GameMgr.m_gameId++, roomId, pveInfo, players, null, roomType, gameType, timeType, hardLevel, gameNeedPetSkillInfoList); pVEGame.GameOverLog += new BaseGame.GameOverLogEventHandle(LogMgr.LogFightAdd); List <BaseGame> games; Monitor.Enter(games = GameMgr.m_games); try { GameMgr.m_games.Add(pVEGame); } finally { Monitor.Exit(games); } pVEGame.Prepare(); result = pVEGame; } else { result = null; } } catch (Exception exception) { GameMgr.log.Error("Create game error:", exception); result = null; } return(result); }
public static BaseGame StartPVEGame(int roomId, List <IGamePlayer> players, int copyId, eRoomType roomType, eGameType gameType, int timeType, eHardLevel hardLevel, int levelLimits) { BaseGame result; try { PveInfo info; if (copyId == 0 || copyId == 10000) { info = PveInfoMgr.GetPveInfoByType(roomType, levelLimits); } else { info = PveInfoMgr.GetPveInfoById(copyId); } if (info != null) { PVEGame game = new PVEGame(GameMgr.m_gameId++, roomId, info, players, null, roomType, gameType, timeType, hardLevel); List <BaseGame> games; Monitor.Enter(games = GameMgr.m_games); try { GameMgr.m_games.Add(game); } finally { Monitor.Exit(games); } game.Prepare(); result = game; } else { result = null; } } catch (Exception e) { GameMgr.log.Error("Create game error:", e); result = null; } return(result); }
public static BaseGame StartPVEGame(int roomId, List <IGamePlayer> players, int copyId, eRoomType roomType, eGameType gameType, int timeType, eHardLevel hardLevel, int levelLimits) { try { PveInfo info = null; if (copyId == 0 || copyId == 100000) { info = PveInfoMgr.GetPveInfoByType(roomType, levelLimits); } else { info = PveInfoMgr.GetPveInfoById(copyId); } if (info != null) { PVEGame game = new PVEGame(m_gameId++, roomId, info, players, null, roomType, gameType, timeType, hardLevel); game.GameOverLog += new BaseGame.GameOverLogEventHandle(LogMgr.LogFightAdd); lock (m_games) { m_games.Add(game); } game.Prepare(); return(game); } else { return(null); } } catch (Exception e) { log.Error("Create game error:", e); return(null); } }