GodotTicTacToe/scripts/net/Net.cs

43 lines
1.2 KiB
C#

using Godot;
using System;
namespace Network {
public class Net : Node {
private PacketPeerUDP PacketPeer;
private Client Client;
private Server Server;
public bool IsClient { get { return Client != null; } }
public bool IsServer { get { return Server != null; } }
public override void _Ready() {
PacketPeer = new PacketPeerUDP();
}
public override void _Process(float delta) {
if (IsServer) { Server.Update(delta); }
if (IsClient) { Client.Update(delta); }
}
public override void _ExitTree() {
if (IsServer) { Server.Free(); }
if (IsClient) { Client.Free(); }
}
public Client StartClient(string address, int port) {
if (IsServer) { return null; }
Client = new Client(PacketPeer);
Client.Start(address, port);
return Client;
}
public Server StartServer(string address, int port) {
if (IsClient) { return null; }
Server = new Server(PacketPeer);
Server.Start(address, port);
return Server;
}
}
}