Files
flufflparty-/FlufflParty/Assets/Scripts/MiniGames/MinigamesClient.cs
T
brausjonas 412490ea85 MiniGame System Test (TCP only)
Nach jeder Runde (jeder spieler hat einmal gewürfelt) wird ein zufälliges minigame geladen. Ist das minigame beendet (stand jz nach 1 sekunde fix) wird die Map in Ihrem vorherigen zustand neu geladen. Die Kommunikation zwischen Client und Server im Minigame erfolgt unabhängig der Kommunikation in der Map
2023-04-15 03:52:15 +02:00

59 lines
1.3 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using UnityEngine;
public class MinigamesClient : MonoBehaviour
{
private TcpClient client;
private Stream stream;
private Queue<Job> jobs = new Queue<Job>();
private void Start()
{
client = new TcpClient("185.245.96.48", 8051);
stream = client.GetStream();
stream.Write(new byte[]{5, (byte)Client.playerID, 0, 0, 0, 0, 0, 0, 0, 0});
byte[] originalRoomCode = Encoding.ASCII.GetBytes(PlayerPrefs.GetString("roomcode"));
stream.Write(originalRoomCode);
new Thread(Read).Start();
}
private void Update()
{
if (jobs.Count > 0)
{
Job job = jobs.Dequeue();
switch (job.data[0])
{
//TEST
case 1:
stream.Write(new byte[]{1, 0, 0, 0, 0, 0, 0, 0, 0, 0});
break;
}
}
}
private void Read()
{
while (true)
{
byte[] read = new byte[10];
stream.Read(read, 0, 10);
jobs.Enqueue(new Job(read));
}
}
}