Пример #1
0
        public void Revert()
        {
            //_mapIndex = 0;
            //_teamType = eTeamType.FREE;

            bool isNew = Managers.WorldMgr.WaitingScene.Info.NewerServer ;
            //if (Managers.WorldMgr.WaitingScene.Info.NewerServer == 0)
            //{
            if (RoomType == eRoomType.PAIRUP)
            {
                for (int i = 0; i < _openState.Length; i++)
                {
                    if (isNew)
                    {
                        if (i < _openState.Length / 4)
                        {

                            _openState[i] = true;
                        }
                        else
                        {
                            _openState[i] = false;
                        }
                    }
                    else
                    {
                        if (i < _openState.Length / 2)
                        {

                            _openState[i] = true;
                        }
                        else
                        {
                            _openState[i] = false;
                        }
                    }
                }
            }
            else
            {
                for (int i = 0; i < _openState.Length; i++)
                {
                    if (i >= 4 && isNew)
                    {
                        _openState[i] = false;
                    }
                    else
                    {
                        _openState[i] = true;
                    }
                }
            }

            _gameState = eGameState.FREE;
            _gameClass = eGameClass.FREE;
            //Data = null;
            _matchGame = null;
            _consortiaID = -1;
            pairUpState = 0;
            listType = 0;
            _classChangeMode = 0;
        }
Пример #2
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player != client.Player.CurrentGame.Player)
            {
                return(0);
            }

            if (client.Player.CurrentGame.GameState == eGameState.PAIRUP)
            {
                eGameClass gameClass = (eGameClass)packet.ReadByte();

                if (gameClass == eGameClass.FREE_OR_CONSORTIA)
                {
                    if (client.Player.CurrentGame.Count != 1)
                    {
                        if (client.Player.CurrentGame.CheckConsortiaSame())
                        {
                            client.Player.CurrentGame.GameClass = eGameClass.FREE_OR_CONSORTIA;

                            ////client.Player.CurrentGame.SendRoomType();
                            //client.Player.CurrentGame.SendToAll(packet);
                            client.Player.CurrentGame.SendRoomInfo();
                        }
                    }
                }
                //int listType = packet.ReadInt();

                //if(gameClass == eGameClass.CONSORTIA)
                //{
                //    if(client.Player.CurrentGame.Count != 1)
                //    {
                //        if(client.Player.CurrentGame.CheckConsortiaSame())
                //        {
                //            client.Player.CurrentGame.GameClass = eGameClass.CONSORTIA;
                //            //client.Player.CurrentGame.ConsortiaID = packet.ReadInt();
                //            client.Player.CurrentGame.listType = listType;

                //            client.Player.CurrentGame.SendToAll(packet);
                //            client.Player.CurrentGame.SendRoomInfo();
                //        }
                //    }
                //}
                //else if(gameClass == eGameClass.FREE)
                //{
                //    if (client.Player.CurrentGame.pairUpState == 0)
                //    {
                //        client.Player.CurrentGame.GameClass = eGameClass.FREE;
                //        client.Player.CurrentGame.listType = 0;

                //        client.Player.CurrentGame.SendToAll(packet);
                //        client.Player.CurrentGame.SendRoomInfo();
                //    }
                //}
            }
            else if (client.Player.CurrentGame.GameState == eGameState.FREE)
            {
                eGameClass gameClass = (eGameClass)packet.ReadByte();

                if (gameClass == eGameClass.CONSORTIA)
                {
                    if (client.Player.CurrentGame.Count != 1)
                    {
                        if (client.Player.CurrentGame.CheckConsortiaSame())
                        {
                            client.Player.CurrentGame.ClassChangeMode = 1;
                            client.Player.CurrentGame.GameClass       = eGameClass.CONSORTIA;

                            client.Player.CurrentGame.SendRoomInfo();
                        }
                    }
                }
                else if (gameClass == eGameClass.FREE)
                {
                    client.Player.CurrentGame.ClassChangeMode = 1;
                    client.Player.CurrentGame.GameClass       = eGameClass.FREE;
                    client.Player.CurrentGame.SendRoomInfo();
                }
            }
            return(0);
        }
Пример #3
0
        public void Revert()
        {
            //_mapIndex = 0;
            //_teamType = eTeamType.FREE;

            bool isNew = Managers.WorldMgr.WaitingScene.Info.NewerServer;

            //if (Managers.WorldMgr.WaitingScene.Info.NewerServer == 0)
            //{
            if (RoomType == eRoomType.PAIRUP)
            {
                for (int i = 0; i < _openState.Length; i++)
                {
                    if (isNew)
                    {
                        if (i < _openState.Length / 4)
                        {
                            _openState[i] = true;
                        }
                        else
                        {
                            _openState[i] = false;
                        }
                    }
                    else
                    {
                        if (i < _openState.Length / 2)
                        {
                            _openState[i] = true;
                        }
                        else
                        {
                            _openState[i] = false;
                        }
                    }
                }
            }
            else
            {
                for (int i = 0; i < _openState.Length; i++)
                {
                    if (i >= 4 && isNew)
                    {
                        _openState[i] = false;
                    }
                    else
                    {
                        _openState[i] = true;
                    }
                }
            }


            _gameState = eGameState.FREE;
            _gameClass = eGameClass.FREE;
            //Data = null;
            _matchGame       = null;
            _consortiaID     = -1;
            pairUpState      = 0;
            listType         = 0;
            _classChangeMode = 0;
        }