summaryrefslogtreecommitdiff
path: root/Main.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Main.cs')
-rw-r--r--Main.cs19
1 files changed, 15 insertions, 4 deletions
diff --git a/Main.cs b/Main.cs
index 8b3e9be..85306ec 100644
--- a/Main.cs
+++ b/Main.cs
@@ -7,6 +7,9 @@ static class OnekoOnline
{
public static readonly ConfigFile Config = new("config.conf");
+ public static Net.Server? Server;
+ public static Net.Client? Client;
+
const ConfigFlags raylibConfFlags =
//ConfigFlags.FLAG_WINDOW_UNDECORATED |
//ConfigFlags.FLAG_WINDOW_TRANSPARENT |
@@ -20,22 +23,27 @@ static class OnekoOnline
Raylib.SetConfigFlags(raylibConfFlags);
Raylib.InitWindow(640, 480, "OnekoOnline");
Raylib.SetTargetFPS(30);
- //Raylib.MaximizeWindow();
Oneko LocalOneko = new();
RenderTexture2D RenderTexture = Raylib.LoadRenderTexture(320,240);
int port = Config.GetValue("ServerPort", 42069);
+ string serverPassword = Config.GetValue("ServerPassword", "");
+
if (Config.GetValue("HostServer", false)) {
- Net.Server.Init(port);
- Net.Client.Init("127.0.0.1", port);
+ Server = new(port, Config.GetValue("ServerMaxUsers", 32));
+ Client = new("127.0.0.1", port, serverPassword);
} else {
- Net.Client.Init(Config.GetValue("ServerIP", "pond.sarahduck.ca"), port);
+ Client = new(Config.GetValue("ServerIP", "pond.sarahduck.ca"), port, serverPassword);
}
while (!Raylib.WindowShouldClose())
{
+ //Poll networking
+ Client?.Poll();
+ Server?.Poll();
+
Raylib.BeginTextureMode(RenderTexture);
Raylib.ClearBackground(Color.GRAY);
@@ -50,6 +58,9 @@ static class OnekoOnline
Raylib.EndDrawing();
}
+ Client?.Disconnect();
+ Server?.Disconnect();
+
Drawable.DisposeAll();
Raylib.CloseWindow();
Config.SaveFile();