Exemplo n.º 1
0
    private void Receive(object sender, MessageEventArgs e)
    {
        PacketChecker packet = JsonUtility.FromJson <PacketChecker>(e.Data);

        if (packet == null)
        {
            return;
        }

        if (packet.packetType == null)
        {
            return;
        }

        switch (packet.packetType)
        {
        case (int)GameServerPackets.Handshake:
            ServerHandshake shake = JsonUtility.FromJson <ServerHandshake>(e.Data);
            Debug.Log(shake.welcomeMessage);
            break;

        case (int)GameServerPackets.GetLobbyCode:
            CreateLobby lobby = JsonUtility.FromJson <CreateLobby>(e.Data);
            info.currentGame = lobby.lobbyCode;
            actionsToRun.Add(() => SceneManager.LoadScene(joinScene));
            break;

        case (int)GameServerPackets.ErrorMessage:
            Disconnect();
            Application.Quit();
            break;
        }
    }
Exemplo n.º 2
0
        public void UnstableTest()
        {
            var checker =
                new PacketChecker<bool>(
                    new PacketPadder<bool>(new UnstableTestChannel(2)),
                    ByteChannelOptions.Default);
            var data = new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
            byte[] received = new byte[0];

            checker.Receive += (sender, message) =>
                received = ByteHelper.Combine(received, message.Data.ToArray());
            foreach (var bytes in data.Slices(checker.MaxSize))
                checker.Send(bytes);

            CollectionAssert.AreEqual(data, received);
        }
Exemplo n.º 3
0
        public void UnstableTest()
        {
            var checker =
                new PacketChecker <bool>(
                    new PacketPadder <bool>(new UnstableTestChannel(2)),
                    ByteChannelOptions.Default);
            var data = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

            byte[] received = new byte[0];

            checker.Receive                       += (sender, message) =>
                                          received = ByteHelper.Combine(received, message.Data.ToArray());
            foreach (var bytes in data.Slices(checker.MaxSize))
            {
                checker.Send(bytes);
            }

            CollectionAssert.AreEqual(data, received);
        }
Exemplo n.º 4
0
    private void Receive(object sender, MessageEventArgs e)
    {
        PacketChecker packet = JsonUtility.FromJson <PacketChecker>(e.Data);

        if (packet == null)
        {
            return;
        }

        if (packet.packetType == null)
        {
            return;
        }

        if (packet.packetType == (int)GameServerPackets.ReceivePublicLobbys)
        {
            LobbyAnswer lobbys = JsonUtility.FromJson <LobbyAnswer>(e.Data);
            foreach (string code in lobbys.lobbyCodes)
            {
                actionsToRun.Add(() => AddButton(code));
            }
        }
    }
Exemplo n.º 5
0
    private void Receive(object sender, MessageEventArgs e)
    {
        PacketChecker packet = JsonUtility.FromJson <PacketChecker>(e.Data);

        if (packet == null)
        {
            return;
        }

        if (packet.packetType == null)
        {
            return;
        }

        switch (packet.packetType)
        {
        case (int)GameServerPackets.ServerInfo:
            ServerData serverData = JsonUtility.FromJson <ServerData>(e.Data);
            actionsToRun.Add(() => OnConnect(serverData));
            break;

        case (int)GameServerPackets.StartGame:
            StartGame startData = JsonUtility.FromJson <StartGame>(e.Data);
            actionsToRun.Add(() => StartGame(startData));
            break;

        case (int)GameServerPackets.Movement:
            Location loc = JsonUtility.FromJson <Location>(e.Data);
            Move(loc);
            break;

        case (int)GameServerPackets.ServerMessage:
            ServerMessage message = JsonUtility.FromJson <ServerMessage>(e.Data);
            actionsToRun.Add(() => messages.ReceiveMessage(message.message));
            break;
        }
    }