Program.cs
C# demo · Navigation integration guide · Raw source
Demo files
- cpp_demo_3d_app/main.cpp
- cpp_demo_3d_app/integration.hpp
- cpp_demo_3d_app/diagnostic_view.cpp
- cpp_demo_3d_app/diagnostic_view.hpp
- cpp_demo_3d_app/application.cpp
- cpp_demo_3d_app/application.hpp
- python_demo_3d_app/application.py
- python_demo_3d_app/integration.py
- python_demo_3d_app/main.py
- csharp_demo_3d_app/MyApplication.cs
- csharp_demo_3d_app/RaylibWindow.cs
- csharp_demo_3d_app/MyOpenAxisIntegration.cs
- csharp_demo_3d_app/Program.cs
- typescript_demo_3d_app/application.ts
- typescript_demo_3d_app/integration.ts
- typescript_demo_3d_app/main.ts
- csharp_demo_3d_app/DemoScene.cs
using Raylib_cs;namespace OpenAxisDemo;internal static class Program{ public static void Main(string[] args) { if (args.Contains("--test")) { DemoTests.Run(); return; } if (args.Length == 2 && args[0] == "--test-integration") { DemoTests.RunIntegration(args[1]); return; } int urlIndex = Array.IndexOf(args, "--url"); if (urlIndex >= 0 && urlIndex + 1 == args.Length) throw new ArgumentException("--url requires a WebSocket URL"); var app = new MyApplication(); SynchronizationContext.SetSynchronizationContext(app.Dispatcher); app.OpenWindow(); MyOpenAxisIntegration? integration = null; try { integration = new MyOpenAxisIntegration(app, args.Contains("--debug"), urlIndex >= 0 ? args[urlIndex+1] : "ws://127.0.0.1:6607"); int frames = 0; while (!Raylib.WindowShouldClose()) { app.PollInput(); app.Tick(); app.Draw(); if (args.Contains("--screenshot") && ++frames == 5) { Raylib.TakeScreenshot("csharp-raylib-preview.png"); break; } } } finally { try { if (integration != null) app.Await(integration.StopAsync()); } finally { app.Close(); app.CloseWindow(); SynchronizationContext.SetSynchronizationContext(null); } } }}