{"id":13708995,"url":"https://github.com/Eideren/StrideCommunity.ImGuiDebug","last_synced_at":"2025-05-06T15:31:49.995Z","repository":{"id":110845729,"uuid":"178055139","full_name":"Eideren/StrideCommunity.ImGuiDebug","owner":"Eideren","description":"Bare-bone implementation of ImGui and a couple of debug tools for Stride","archived":false,"fork":false,"pushed_at":"2024-08-17T16:29:54.000Z","size":89,"stargazers_count":22,"open_issues_count":1,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-14T11:12:41.759Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Eideren.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-27T18:44:40.000Z","updated_at":"2025-01-24T14:46:54.000Z","dependencies_parsed_at":"2023-11-20T23:42:28.651Z","dependency_job_id":"d561698c-fe5b-4962-99e6-be3145db9013","html_url":"https://github.com/Eideren/StrideCommunity.ImGuiDebug","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eideren%2FStrideCommunity.ImGuiDebug","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eideren%2FStrideCommunity.ImGuiDebug/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eideren%2FStrideCommunity.ImGuiDebug/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eideren%2FStrideCommunity.ImGuiDebug/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Eideren","download_url":"https://codeload.github.com/Eideren/StrideCommunity.ImGuiDebug/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252712977,"owners_count":21792402,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T23:00:34.889Z","updated_at":"2025-05-06T15:31:44.986Z","avatar_url":"https://github.com/Eideren.png","language":"C#","funding_links":[],"categories":["Alternative UI Plugins"],"sub_categories":["Very old projects"],"readme":"StrideCommunity.ImGuiDebug\n=====\n\nBare-bone implementation of ImGui and a couple of debug tools for Stride\n\n![](https://user-images.githubusercontent.com/5742236/55237373-563a1400-5232-11e9-8c24-beeaf127c0ac.png)\n\n### How to:\n* Add this repo as a submodule of your game's repo.\n* Add a project reference pointing to this project inside your game's .csproj.\n* Reference ImGui.NET's nuget package in your game's project, see below.\n```xml\n\u003cProjectReference Include=\"..\\StrideCommunity.ImGuiDebug\\StrideCommunity.ImGuiDebug.csproj\" /\u003e\n```\n* Start ImGui within your game's BeginRun():\n```cs\nusing StrideCommunity.ImGuiDebug;\nprotected override void BeginRun()\n{\n    base.BeginRun();\n    new ImGuiSystem( Services, GraphicsDeviceManager );\n}\n```\n\nBuiltin Debug interfaces:\n```cs\nnew HierarchyView( Services );\nnew PerfMonitor( Services );\nInspector.FindFreeInspector( Services ).Target = objectToInspect;\n```\n\nExample interface implementation:\n```cs\nusing System.Numerics;\nusing static ImGuiNET.ImGui;\nusing static StrideCommunity.ImGuiDebug.ImGuiExtension;\n\npublic class YourInterface : StrideCommunity.ImGuiDebug.BaseWindow\n{\n    bool my_tool_active;\n    Vector4 my_color;\n    float[] my_values = { 0.2f, 0.1f, 1.0f, 0.5f, 0.9f, 2.2f };\n\n    public YourInterface( Stride.Core.IServiceRegistry services ) : base( services )\n    {\n    }\n\n    protected override void OnDestroy()\n    {\n    }\n\n    protected override void OnDraw( bool collapsed )\n    {\n        if( collapsed )\n            return;\n\n        if( BeginMenuBar() )\n        {\n            if( BeginMenu( \"File\" ) )\n            {\n                if( MenuItem( \"Open..\", \"Ctrl+O\" ) ) { /* Do stuff */ }\n                if( MenuItem( \"Save\", \"Ctrl+S\" ) ) { /* Do stuff */ }\n                if( MenuItem( \"Close\", \"Ctrl+W\" ) ) { my_tool_active = false; }\n                EndMenu();\n            }\n            EndMenuBar();\n        }\n\n        // Edit a color (stored as ~4 floats)\n        ColorEdit4( \"Color\", ref my_color );\n\n        // Plot some values\n        PlotLines( \"Frame Times\", ref my_values[ 0 ], my_values.Length );\n\n        // Display contents in a scrolling region\n        TextColored( new Vector4( 1, 1, 0, 1 ), \"Important Stuff\" );\n        using( Child() )\n        {\n            for( int n = 0; n \u003c 50; n++ )\n                Text( $\"{n}: Some text\" );\n        }\n    }\n}\n\n```\n\nCredits\n-------\n[Profan's contribution](https://github.com/profan/dear-xenko)\n\n[jazzay's contribution](https://github.com/jazzay/Xenko.Extensions#xenkoimgui)\n\n[ImGui.NET](https://github.com/mellinoe/ImGui.NET)\n\n[Dear ImGui](https://github.com/ocornut/imgui)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEideren%2FStrideCommunity.ImGuiDebug","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEideren%2FStrideCommunity.ImGuiDebug","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEideren%2FStrideCommunity.ImGuiDebug/lists"}