You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.5 KiB

using Godot;
using Network.PacketHandling;
namespace Network {
public class Client : Peer {
private PacketPeerUDP PacketPeer;
private Connection ServerConn;
private PacketBuffer TempBuffer;
private float Timer = 0;
public Client(PacketPeerUDP packetPeer) : base(packetPeer) {
PacketPeer = packetPeer;
TempBuffer = NewPacketBuffer();
TempBuffer.Write(1);
}
public override void Initialize(string address, int port) {
GD.print("Start client.");
GD.print("Starting to send stuff to " + address + ":" + port);
ServerConn = new Connection(address, port);
ServerConn.Name = "Server";
StartListening(port, "*");
}
public override void Update(float delta) {
Timer += delta;
if (Timer < 1) { return; }
Timer = 0;
SendBuffer(TempBuffer, ServerConn);
}
public override void ReceivePacket(PacketBuffer packetBuffer, Connection connection) {
GD.print("Client received stuff from " + connection.Name + " at " + connection.Address + " : " + connection.Port + " :");
while (packetBuffer.HasNext) {
GD.print(packetBuffer.Read());
}
}
public override void Connected(Connection conn) {
GD.print("Connected to " + conn.Name + " at " + conn.Address + ":" + conn.Port);
}
}
}