public bool CanStartGame(GamePlayer player, GSPacketIn data) { lock (Data._syncStop) { if (player == _player && _gameState == eGameState.FREE) { if (_processor.OnCanStartGame(this, player)) { _processor.InitGame(this); BeginTimer(70 * 1000); Data.StartReset(this); //StopTimer(); _gameState = eGameState.LOAD; _isChangeStyle = false; SendRoomInfo(); IsTakeOut = false; Data.MapType = eMapType.Normal; Data.MapIndex = Managers.MapMgr.GetMapIndex(MapIndex, (byte)eMapType.Normal); GSPacketIn pkg = new GSPacketIn((byte)ePackageType.GAME_LOAD); pkg.WriteInt(Data.MapIndex); pkg.WriteInt(Data.StartedGameClass); pkg.WriteBoolean(false); SendToAll(pkg); return(true); } } return(false); } }