Esempio n. 1
0
 public void ChangeMode()
 {
     Console.WriteLine("===Salle d'attente complete===");
     State = State.InGame;
     MasterOperation(false);
     GameManager = new GameManager(CurrentLobby.Players, _map, _em, this);
     Server.Stop();
     Console.WriteLine("Debut du jeu");
 }
Esempio n. 2
0
        public void SetAnimationStateMachine(RigType rig, States initialState)
        {
            state = initialState;
            switch (rig)
            {
                case RigType.FOOT:
                    animationStateMachine = new PlayerState(initialState, "Player State Machine", this.gameObject);
                    break;
                case RigType.CHARSELECT:
                    animationStateMachine = new CharSelectState(initialState, "Char Select State Machine", this.gameObject);
                    break;
                default:
                    break;
            }

            animationStateMachine.Entry();
        }
Esempio n. 3
0
 void Awake()
 {
     state = new State();
     state.packetState = State.PacketState.HEADER;
     state.bytesReceived = 0;
     state.bytesExpected = PrefixSize;
     Connect();
 }
Esempio n. 4
0
        private static void RecievePrefixCallback(IAsyncResult ar)
        {
            try
            {
                state = (State)ar.AsyncState;
                Socket client = state.socket;

                int bytesRead = client.EndReceive(ar);

                if (bytesRead > 0)
                {
                    if (bytesRead == state.bytesExpected)
                    {
                        string size = Encoding.ASCII.GetString(state.buffer, 0, PrefixSize);
                        Debug.Log("size: " + size);
                        int payloadSize = Int32.Parse(size, System.Globalization.NumberStyles.HexNumber);
                        state = new State();
                        state.packetState = State.PacketState.PAYLOAD;
                        state.bytesExpected = payloadSize;
                        state.bytesReceived = 0;
                    }
                    else
                    {
                        state.bytesExpected = PrefixSize - bytesRead;
                        state.bytesReceived += bytesRead;
                    }
                }

            }
            catch (Exception e)
            {
                Debug.Log(e.ToString());
            }

            Recieve();
        }
Esempio n. 5
0
        private static void RecievePayloadCallback(IAsyncResult ar)
        {
            try
            {
                state = (State)ar.AsyncState;
                Socket client = state.socket;

                int bytesRead = client.EndReceive(ar);

                if (bytesRead > 0)
                {
                    state.sb.Append(Encoding.ASCII.GetString(state.buffer, state.bytesReceived, bytesRead));

                    if (bytesRead == state.bytesExpected)
                    {
                        string data = crypto.Decrypt(state.sb.ToString());

                        // Switch to header mode
                        state = new State();
                        state.packetState = State.PacketState.HEADER;
                        state.bytesExpected = PrefixSize;
                        state.bytesReceived = 0;

                        Debug.Log(data);

                        JsonReader reader = new JsonReader(data);

                        Packet packet = reader.Deserialize<Packet>();

                        PacketType type = (PacketType)packet.type;

                        switch (type)
                        {
                            case PacketType.CHARACTER:
                                CharacterManager.Instance.handlePacket(packet.operation, data);
                                break;
                            case PacketType.USER:
                                UserManager.Instance.handlePacket(packet.operation, data);
                                break;
                            default:
                                break;

                        }
                    }
                    else
                    {
                        state.bytesExpected -= bytesRead;
                        state.bytesReceived += bytesRead;
                    }

                }

            }
            catch (Exception e)
            {
                Debug.Log(e.ToString());
            }

            Recieve();
        }
Esempio n. 6
0
        public void OpenLobby()
        {
            CurrentLobby = new Lobby(_maxPlayers, _map, _em, this);
            Server = new Server(_em, _parser.Parse);

            Server.Start(_port);
            State = State.Lobby;

            MasterOperation(true);

            Console.WriteLine("Salle d'attente ouverte pour la map " + _map);
        }