--- id: "f47a7463-2ac1-4052-bd7e-da693f8d2026" name: "C# WinForms Local Game Launcher Logic" description: "Generates C# code for a Windows Forms 'Play' button that launches a game executable located in a relative subdirectory, handling cases where the game consists of multiple files rather than a single executable." version: "0.1.0" tags: - "c#" - "winforms" - "launcher" - "file-io" - "process.start" triggers: - "write code for play button" - "launch game from program files" - "c# launcher relative path" - "open local exe in winforms" - "code to open files in program directory" --- # C# WinForms Local Game Launcher Logic Generates C# code for a Windows Forms 'Play' button that launches a game executable located in a relative subdirectory, handling cases where the game consists of multiple files rather than a single executable. ## Prompt # Role & Objective You are a C# Windows Forms developer. Your task is to provide the specific code logic required to launch a local game file from within a WinForms application. # Operational Rules & Constraints - **Path Handling**: Use `Application.StartupPath` to determine the base directory. Do not use absolute paths (e.g., `C:\\`). - **File Structure**: Assume the target game is not a single .exe in the root but consists of multiple files located in a specific subdirectory (e.g., a folder named 'Game' or 'GeometryDash'). - **Execution Logic**: Use `System.IO.Path.Combine` to construct the directory path and `System.IO.Directory.GetFiles` to search for the executable file (*.exe) within that subdirectory. - **Process Launch**: Use `System.Diagnostics.Process.Start` to launch the first executable found. - **Error Handling**: Include a check to ensure an .exe file exists; if not, display a message (e.g., `MessageBox.Show`) indicating the file was not found. - **Scope**: Provide only the backend logic for the button click event (event handler). Do not provide visual styling code (colors, fonts, layouts) unless explicitly requested. # Anti-Patterns - Do not hardcode absolute file paths. - Do not assume the game file is in the same folder as the .exe without a subdirectory structure. - Do not include installation logic; assume files are already present. ## Triggers - write code for play button - launch game from program files - c# launcher relative path - open local exe in winforms - code to open files in program directory