GodotTicTacToe/scripts/Net.cs

39 lines
1023 B
C#
Raw Normal View History

2017-11-21 18:33:48 +01:00
using Godot;
using System;
2017-11-21 18:33:48 +01:00
public class Net : Node {
private PacketPeerUDP PacketPeer;
private Client Client;
private Server Server;
2017-11-21 22:23:12 +01:00
public bool IsClient { get { return Client != null; } }
public bool IsServer { get { return Server != null; } }
2017-11-21 18:33:48 +01:00
public override void _Ready() {
PacketPeer = new PacketPeerUDP();
}
public override void _Process(float delta) {
2017-11-21 22:23:12 +01:00
if (IsServer) { Server.Update(delta); }
if (IsClient) { Client.Update(delta); }
}
public override void _ExitTree() {
if (IsServer) { Server.Free(); }
if (IsClient) { Client.Free(); }
2017-11-21 18:33:48 +01:00
}
2017-11-21 23:51:27 +01:00
public void StartClient(string address, int port) {
if (IsClient || IsServer) { return; }
2017-11-21 18:33:48 +01:00
Client = new Client(PacketPeer);
Client.Initialize(address, port);
2017-11-21 18:33:48 +01:00
}
2017-11-21 23:51:27 +01:00
public void StartServer(string address, int port) {
if (IsClient || IsServer) { return; }
2017-11-21 18:33:48 +01:00
Server = new Server(PacketPeer);
Server.Initialize(address, port);
2017-11-21 18:33:48 +01:00
}
}