aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Core/Data/LoggerManagement.cs11
-rw-r--r--core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Core/Services/Tcp/PadTcpClient.cs25
-rw-r--r--core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Core/Services/Tcp/PadTcpServer.cs25
-rw-r--r--core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Example/Program.cs7
4 files changed, 68 insertions, 0 deletions
diff --git a/core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Core/Data/LoggerManagement.cs b/core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Core/Data/LoggerManagement.cs
new file mode 100644
index 0000000..f1d2bd9
--- /dev/null
+++ b/core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Core/Data/LoggerManagement.cs
@@ -0,0 +1,11 @@
+using NoGamepads_Sharp;
+
+namespace NoGamepads_Core.Data;
+
+public static class LoggerManagement
+{
+ public static void EnableLogger(int level)
+ {
+ nogamepads_data.EnableLogger((byte) level);
+ }
+} \ No newline at end of file
diff --git a/core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Core/Services/Tcp/PadTcpClient.cs b/core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Core/Services/Tcp/PadTcpClient.cs
index 40c9aba..6eb81d9 100644
--- a/core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Core/Services/Tcp/PadTcpClient.cs
+++ b/core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Core/Services/Tcp/PadTcpClient.cs
@@ -1,6 +1,31 @@
+using NoGamepads_Core.Runtime;
+using NoGamepads_Sharp;
+
namespace NoGamepads_Core.Services.Tcp;
public class PadTcpClient
{
+ private readonly FfiTcpClientService _serviceFfi;
+
+ public PadTcpClient(ControllerRuntime runtime)
+ {
+ _serviceFfi = nogamepads_data.TcpClientBuild(runtime.Borrow());
+ }
+
+ public PadTcpClient SetAddressV4(int a0 = 127, int a1 = 0, int a2 = 0, int a3 = 1, int port = 5989)
+ {
+ nogamepads_data.TcpClientBindAddressV4(_serviceFfi, (byte) a0, (byte) a1, (byte) a2, (byte) a3, (byte) port);
+ return this;
+ }
+ public PadTcpClient SetAddressV6(string address = "::1", int port = 5989)
+ {
+ nogamepads_data.TcpClientBindAddressV6(_serviceFfi, address, (byte) port);
+ return this;
+ }
+
+ public void Connect()
+ {
+ nogamepads_data.TcpClientConnect(_serviceFfi);
+ }
} \ No newline at end of file
diff --git a/core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Core/Services/Tcp/PadTcpServer.cs b/core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Core/Services/Tcp/PadTcpServer.cs
index bfbef46..05deda9 100644
--- a/core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Core/Services/Tcp/PadTcpServer.cs
+++ b/core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Core/Services/Tcp/PadTcpServer.cs
@@ -1,6 +1,31 @@
+using NoGamepads_Core.Runtime;
+using NoGamepads_Sharp;
+
namespace NoGamepads_Core.Services.Tcp;
public class PadTcpServer
{
+ private readonly FfiTcpServerService _serviceFfi;
+
+ public PadTcpServer(GameRuntime runtime)
+ {
+ _serviceFfi = nogamepads_data.TcpServerBuild(runtime.Borrow());
+ }
+
+ public PadTcpServer SetAddressV4(int a0 = 127, int a1 = 0, int a2 = 0, int a3 = 1, int port = 5989)
+ {
+ nogamepads_data.TcpServerBindAddressV4(_serviceFfi, (byte) a0, (byte) a1, (byte) a2, (byte) a3, (byte) port);
+ return this;
+ }
+ public PadTcpServer SetAddressV6(string address = "::1", int port = 5989)
+ {
+ nogamepads_data.TcpServerBindAddressV6(_serviceFfi, address, (byte) port);
+ return this;
+ }
+
+ public void BlockOn()
+ {
+ nogamepads_data.TcpServerListeningBlockOn(_serviceFfi);
+ }
} \ No newline at end of file
diff --git a/core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Example/Program.cs b/core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Example/Program.cs
index 03569b7..48ec6f6 100644
--- a/core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Example/Program.cs
+++ b/core/bindings/lang/csharp/NoGamepads_CharpBindings/NoGamepads_Example/Program.cs
@@ -1,5 +1,6 @@
using NoGamepads_Core.Data;
using NoGamepads_Core.Runtime;
+using NoGamepads_Core.Services.Tcp;
using NoGamepads_Sharp;
namespace NoGamepads_Example;
@@ -8,6 +9,8 @@ internal class Program
{
public static void Main(string[] args)
{
+ LoggerManagement.EnableLogger(2);
+
Player player = new Player("CatilGrass", "123456");
player.Hue = 250;
@@ -19,5 +22,9 @@ internal class Program
ControllerData data = new ControllerData(player);
ControllerRuntime runtime = new ControllerRuntime(data);
+
+ new PadTcpClient(runtime)
+ .SetAddressV4()
+ .Connect();
}
} \ No newline at end of file