diff options
Diffstat (limited to 'Main.cs')
| -rw-r--r-- | Main.cs | 19 |
1 files changed, 15 insertions, 4 deletions
@@ -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(); |
