From 1b890169c550e1fa3cd8528a42e286ebefbf0474 Mon Sep 17 00:00:00 2001 From: Chris Dill Date: Tue, 19 May 2026 20:42:19 +0100 Subject: [PATCH] Update Examples to use separate processes --- Examples/Program.cs | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/Examples/Program.cs b/Examples/Program.cs index 4d09055..ba32773 100644 --- a/Examples/Program.cs +++ b/Examples/Program.cs @@ -1,4 +1,5 @@ using System; +using System.Diagnostics; using Examples.Core; using Examples.Shapes; using Examples.Textures; @@ -175,23 +176,26 @@ class Program { var example = ExampleList.GetExample(args[0]); example?.Main?.Invoke(); + return; } - else + + foreach (var example in ExampleList.AllExamples) { - RunExamples(ExampleList.AllExamples); + RunExampleProcess(Environment.ProcessPath, example.Name); } } - static void RunExamples(ExampleInfo[] examples) + static void RunExampleProcess( + string fileName, + string exampleName + ) { - var configFlags = Enum.GetValues(typeof(ConfigFlags)); - foreach (var example in examples) + var processStartInfo = new ProcessStartInfo { - example?.Main?.Invoke(); - foreach (ConfigFlags flag in configFlags) - { - Raylib.ClearWindowState(flag); - } - } + FileName = fileName, + Arguments = exampleName + }; + using var process = Process.Start(processStartInfo); + process?.WaitForExit(); } }