Made the UI work and did some fixing
This commit is contained in:
parent
d9b6cc2165
commit
f1fe29c2f8
@ -7,6 +7,7 @@ public class Client : Peer {
|
|||||||
private Connection ServerConn;
|
private Connection ServerConn;
|
||||||
|
|
||||||
private byte[] TempBuffer = {1};
|
private byte[] TempBuffer = {1};
|
||||||
|
private float Timer = 0;
|
||||||
|
|
||||||
public Client(PacketPeerUDP packetPeer) : base(packetPeer) {
|
public Client(PacketPeerUDP packetPeer) : base(packetPeer) {
|
||||||
PacketPeer = packetPeer;
|
PacketPeer = packetPeer;
|
||||||
@ -16,7 +17,7 @@ public class Client : Peer {
|
|||||||
GD.print("Start client.");
|
GD.print("Start client.");
|
||||||
GD.print("Starting to send stuff to " + address + ":" + port);
|
GD.print("Starting to send stuff to " + address + ":" + port);
|
||||||
ServerConn = new Connection(address, port);
|
ServerConn = new Connection(address, port);
|
||||||
StartListening(port, address);
|
StartListening(port, "*");
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void ReceivePacket(byte[] buffer, string address, int port) {
|
public override void ReceivePacket(byte[] buffer, string address, int port) {
|
||||||
@ -24,6 +25,9 @@ public class Client : Peer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public override void Update(float delta) {
|
public override void Update(float delta) {
|
||||||
|
Timer += delta;
|
||||||
|
if (Timer < 1) { return; }
|
||||||
|
Timer = 0;
|
||||||
GD.print("Update client.");
|
GD.print("Update client.");
|
||||||
SendBuffer(TempBuffer, ServerConn);
|
SendBuffer(TempBuffer, ServerConn);
|
||||||
}
|
}
|
||||||
|
@ -5,18 +5,52 @@ public class MainMenu : Panel {
|
|||||||
|
|
||||||
private Net Net;
|
private Net Net;
|
||||||
|
|
||||||
|
private LineEdit IPAddressEdit;
|
||||||
|
private LineEdit PortEdit;
|
||||||
|
|
||||||
public override void _Ready() {
|
public override void _Ready() {
|
||||||
Net = (Net) GetNode("/root/Net");
|
Net = (Net) GetNode("/root/Net");
|
||||||
|
var IPAddressNode = GetNode("IPAddress");
|
||||||
|
var PortNode = GetNode("Port");
|
||||||
|
if (IPAddressNode is LineEdit) {
|
||||||
|
IPAddressEdit = (LineEdit) IPAddressNode;
|
||||||
|
}
|
||||||
|
if (PortNode is LineEdit) {
|
||||||
|
PortEdit = (LineEdit) PortNode;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnLaunchServer() {
|
private void OnLaunchServer() {
|
||||||
GD.print("Launch Server!");
|
GD.print("Launch Server!");
|
||||||
Net.StartServer();
|
string address;
|
||||||
|
int port;
|
||||||
|
SetAddressAndPort(out address, out port, "*", 7070);
|
||||||
|
Net.StartServer(address, port);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void OnLaunchClient() {
|
private void OnLaunchClient() {
|
||||||
GD.print("Launch Client!");
|
GD.print("Launch Client!");
|
||||||
Net.StartClient();
|
string address;
|
||||||
|
int port;
|
||||||
|
SetAddressAndPort(out address, out port, "localhost", 7070);
|
||||||
|
Net.StartClient(address, port);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetAddressAndPort(out string address, out int port, string defaultAddress, int defaultPort) {
|
||||||
|
if (IPAddressEdit == null || IPAddressEdit.GetText() == "") {
|
||||||
|
address = defaultAddress;
|
||||||
|
} else {
|
||||||
|
address = IPAddressEdit.GetText();
|
||||||
|
}
|
||||||
|
port = defaultPort;
|
||||||
|
if (PortEdit != null && PortEdit.GetText() != "") {
|
||||||
|
//port = PortEdit.GetText();
|
||||||
|
int temp_port;
|
||||||
|
Int32.TryParse(PortEdit.GetText(), out temp_port);
|
||||||
|
if (temp_port > 80) {
|
||||||
|
port = temp_port;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,21 +7,11 @@ public class Net : Node {
|
|||||||
private Client Client;
|
private Client Client;
|
||||||
private Server Server;
|
private Server Server;
|
||||||
|
|
||||||
private LineEdit IPAddressEdit;
|
|
||||||
private LineEdit PortEdit;
|
|
||||||
|
|
||||||
public bool IsClient { get { return Client != null; } }
|
public bool IsClient { get { return Client != null; } }
|
||||||
public bool IsServer { get { return Server != null; } }
|
public bool IsServer { get { return Server != null; } }
|
||||||
|
|
||||||
public override void _Ready() {
|
public override void _Ready() {
|
||||||
PacketPeer = new PacketPeerUDP();
|
PacketPeer = new PacketPeerUDP();
|
||||||
var IPAddressNode = GetNode("IPAddress");
|
|
||||||
var PortNode = GetNode("Port");
|
|
||||||
if (IPAddressNode is LineEdit) {
|
|
||||||
IPAddressEdit = (LineEdit) IPAddressNode;
|
|
||||||
} if (PortNode is LineEdit) {
|
|
||||||
PortEdit = (LineEdit) PortNode;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void _Process(float delta) {
|
public override void _Process(float delta) {
|
||||||
@ -34,34 +24,15 @@ public class Net : Node {
|
|||||||
if (IsClient) { Client.Free(); }
|
if (IsClient) { Client.Free(); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StartClient() {
|
public void StartClient(string address, int port) {
|
||||||
if (IsClient || IsServer) { return; }
|
if (IsClient || IsServer) { return; }
|
||||||
Client = new Client(PacketPeer);
|
Client = new Client(PacketPeer);
|
||||||
string address;
|
|
||||||
int port;
|
|
||||||
SetAddressAndPort(out address, out port, "localhost", 7070);
|
|
||||||
Client.Initialize(address, port);
|
Client.Initialize(address, port);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StartServer() {
|
public void StartServer(string address, int port) {
|
||||||
if (IsClient || IsServer) { return; }
|
if (IsClient || IsServer) { return; }
|
||||||
Server = new Server(PacketPeer);
|
Server = new Server(PacketPeer);
|
||||||
string address;
|
|
||||||
int port;
|
|
||||||
SetAddressAndPort(out address, out port, "*", 7070);
|
|
||||||
Server.Initialize(address, port);
|
Server.Initialize(address, port);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetAddressAndPort(out string address, out int port, string defaultAddress, int defaultPort) {
|
|
||||||
if (IPAddressEdit == null || IPAddressEdit.GetText() == "") {
|
|
||||||
address = defaultAddress;
|
|
||||||
} else {
|
|
||||||
address = IPAddressEdit.GetText();
|
|
||||||
}
|
|
||||||
port = defaultPort;
|
|
||||||
if (PortEdit != null && PortEdit.GetText() != "") {
|
|
||||||
//port = PortEdit.GetText();
|
|
||||||
Int32.TryParse(PortEdit.GetText(), out port);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user