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; } }
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); }
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); }
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)); } } }
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; } }