示例#1
0
        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);
            }
        }