├── .gitignore ├── .gitmodules ├── LICENSE.txt ├── PluginSource └── source │ ├── ImGuiShader.h │ ├── PlatformBase.h │ ├── RenderAPI.cpp │ ├── RenderAPI.h │ ├── RenderAPI_D3D11.cpp │ ├── RenderAPI_D3D12.cpp │ ├── RenderAPI_Metal.mm │ ├── RenderAPI_OpenGLCoreES.cpp │ ├── RenderAPI_Vulkan.cpp │ ├── RenderingPlugin.cpp │ ├── RenderingPlugin.def │ ├── Unity │ ├── IUnityGraphics.h │ ├── IUnityGraphicsD3D11.h │ ├── IUnityGraphicsD3D12.h │ ├── IUnityGraphicsD3D9.h │ ├── IUnityGraphicsMetal.h │ ├── IUnityGraphicsVulkan.h │ └── IUnityInterface.h │ ├── gl3w │ ├── gl3w.c │ ├── gl3w.h │ ├── glcorearb.h │ └── readme.txt │ ├── lib │ └── d3dcompiler.lib │ ├── premake5.lua │ └── vendor │ └── CImGui │ └── premake5.lua ├── README.md └── UnityImGUI ├── .gitignore ├── Assets ├── UnityImGui.meta └── UnityImGui │ ├── ImGuiPluginHook.prefab │ ├── ImGuiPluginHook.prefab.meta │ ├── Plugins.meta │ ├── Plugins │ ├── UnityImGuiRenderer.dll │ ├── UnityImGuiRenderer.dll.meta │ ├── UnityImGuiRenderer.exp │ ├── UnityImGuiRenderer.exp.meta │ ├── UnityImGuiRenderer.ilk │ ├── UnityImGuiRenderer.ilk.meta │ ├── UnityImGuiRenderer.lib │ └── UnityImGuiRenderer.lib.meta │ ├── SampleScene.unity │ ├── SampleScene.unity.meta │ ├── Scenes.meta │ ├── Scenes │ ├── ImGUITest.unity │ └── ImGUITest.unity.meta │ ├── Scripts.meta │ └── Scripts │ ├── ImGui.NET.meta │ ├── ImGui.NET │ ├── Generated.meta │ ├── Generated │ │ ├── ImColor.gen.cs │ │ ├── ImColor.gen.cs.meta │ │ ├── ImDrawChannel.gen.cs │ │ ├── ImDrawChannel.gen.cs.meta │ │ ├── ImDrawCmd.gen.cs │ │ ├── ImDrawCmd.gen.cs.meta │ │ ├── ImDrawCornerFlags.gen.cs │ │ ├── ImDrawCornerFlags.gen.cs.meta │ │ ├── ImDrawData.gen.cs │ │ ├── ImDrawData.gen.cs.meta │ │ ├── ImDrawList.gen.cs │ │ ├── ImDrawList.gen.cs.meta │ │ ├── ImDrawListFlags.gen.cs │ │ ├── ImDrawListFlags.gen.cs.meta │ │ ├── ImDrawListSplitter.gen.cs │ │ ├── ImDrawListSplitter.gen.cs.meta │ │ ├── ImDrawVert.gen.cs │ │ ├── ImDrawVert.gen.cs.meta │ │ ├── ImFont.gen.cs │ │ ├── ImFont.gen.cs.meta │ │ ├── ImFontAtlas.gen.cs │ │ ├── ImFontAtlas.gen.cs.meta │ │ ├── ImFontAtlasCustomRect.gen.cs │ │ ├── ImFontAtlasCustomRect.gen.cs.meta │ │ ├── ImFontAtlasFlags.gen.cs │ │ ├── ImFontAtlasFlags.gen.cs.meta │ │ ├── ImFontConfig.gen.cs │ │ ├── ImFontConfig.gen.cs.meta │ │ ├── ImFontGlyph.gen.cs │ │ ├── ImFontGlyph.gen.cs.meta │ │ ├── ImFontGlyphRangesBuilder.gen.cs │ │ ├── ImFontGlyphRangesBuilder.gen.cs.meta │ │ ├── ImGui.gen.cs │ │ ├── ImGui.gen.cs.meta │ │ ├── ImGuiBackendFlags.gen.cs │ │ ├── ImGuiBackendFlags.gen.cs.meta │ │ ├── ImGuiCol.gen.cs │ │ ├── ImGuiCol.gen.cs.meta │ │ ├── ImGuiColorEditFlags.gen.cs │ │ ├── ImGuiColorEditFlags.gen.cs.meta │ │ ├── ImGuiComboFlags.gen.cs │ │ ├── ImGuiComboFlags.gen.cs.meta │ │ ├── ImGuiCond.gen.cs │ │ ├── ImGuiCond.gen.cs.meta │ │ ├── ImGuiConfigFlags.gen.cs │ │ ├── ImGuiConfigFlags.gen.cs.meta │ │ ├── ImGuiDataType.gen.cs │ │ ├── ImGuiDataType.gen.cs.meta │ │ ├── ImGuiDir.gen.cs │ │ ├── ImGuiDir.gen.cs.meta │ │ ├── ImGuiDragDropFlags.gen.cs │ │ ├── ImGuiDragDropFlags.gen.cs.meta │ │ ├── ImGuiFocusedFlags.gen.cs │ │ ├── ImGuiFocusedFlags.gen.cs.meta │ │ ├── ImGuiHoveredFlags.gen.cs │ │ ├── ImGuiHoveredFlags.gen.cs.meta │ │ ├── ImGuiIO.gen.cs │ │ ├── ImGuiIO.gen.cs.meta │ │ ├── ImGuiInputTextCallbackData.gen.cs │ │ ├── ImGuiInputTextCallbackData.gen.cs.meta │ │ ├── ImGuiInputTextFlags.gen.cs │ │ ├── ImGuiInputTextFlags.gen.cs.meta │ │ ├── ImGuiKey.gen.cs │ │ ├── ImGuiKey.gen.cs.meta │ │ ├── ImGuiListClipper.gen.cs │ │ ├── ImGuiListClipper.gen.cs.meta │ │ ├── ImGuiMouseButton.gen.cs │ │ ├── ImGuiMouseButton.gen.cs.meta │ │ ├── ImGuiMouseCursor.gen.cs │ │ ├── ImGuiMouseCursor.gen.cs.meta │ │ ├── ImGuiNative.gen.cs │ │ ├── ImGuiNative.gen.cs.meta │ │ ├── ImGuiNavInput.gen.cs │ │ ├── ImGuiNavInput.gen.cs.meta │ │ ├── ImGuiOnceUponAFrame.gen.cs │ │ ├── ImGuiOnceUponAFrame.gen.cs.meta │ │ ├── ImGuiPayload.gen.cs │ │ ├── ImGuiPayload.gen.cs.meta │ │ ├── ImGuiSelectableFlags.gen.cs │ │ ├── ImGuiSelectableFlags.gen.cs.meta │ │ ├── ImGuiSizeCallbackData.gen.cs │ │ ├── ImGuiSizeCallbackData.gen.cs.meta │ │ ├── ImGuiStorage.gen.cs │ │ ├── ImGuiStorage.gen.cs.meta │ │ ├── ImGuiStyle.gen.cs │ │ ├── ImGuiStyle.gen.cs.meta │ │ ├── ImGuiStyleVar.gen.cs │ │ ├── ImGuiStyleVar.gen.cs.meta │ │ ├── ImGuiTabBarFlags.gen.cs │ │ ├── ImGuiTabBarFlags.gen.cs.meta │ │ ├── ImGuiTabItemFlags.gen.cs │ │ ├── ImGuiTabItemFlags.gen.cs.meta │ │ ├── ImGuiTextBuffer.gen.cs │ │ ├── ImGuiTextBuffer.gen.cs.meta │ │ ├── ImGuiTextFilter.gen.cs │ │ ├── ImGuiTextFilter.gen.cs.meta │ │ ├── ImGuiTextRange.gen.cs │ │ ├── ImGuiTextRange.gen.cs.meta │ │ ├── ImGuiTreeNodeFlags.gen.cs │ │ ├── ImGuiTreeNodeFlags.gen.cs.meta │ │ ├── ImGuiWindowFlags.gen.cs │ │ └── ImGuiWindowFlags.gen.cs.meta │ ├── ImDrawData.Manual.cs │ ├── ImDrawData.Manual.cs.meta │ ├── ImDrawList.Manual.cs │ ├── ImDrawList.Manual.cs.meta │ ├── ImGui.Manual.cs │ ├── ImGui.Manual.cs.meta │ ├── ImGui.NET.asmdef │ ├── ImGui.NET.asmdef.meta │ ├── ImGui.NET.csproj.meta │ ├── ImGuiSizeCallback.cs │ ├── ImGuiSizeCallback.cs.meta │ ├── ImGuiTextEditCallback.cs │ ├── ImGuiTextEditCallback.cs.meta │ ├── ImVector.cs │ ├── ImVector.cs.meta │ ├── NullTerminatedString.cs │ ├── NullTerminatedString.cs.meta │ ├── Pair.cs │ ├── Pair.cs.meta │ ├── Plugins.meta │ ├── Plugins │ │ ├── cimgui.meta │ │ └── cimgui │ │ │ ├── linux-x64.meta │ │ │ ├── linux-x64 │ │ │ ├── cimgui.so │ │ │ └── cimgui.so.meta │ │ │ ├── osx-x64.meta │ │ │ ├── osx-x64 │ │ │ ├── cimgui.dylib │ │ │ └── cimgui.dylib.meta │ │ │ ├── win-x64.meta │ │ │ ├── win-x64 │ │ │ ├── cimgui.dll │ │ │ └── cimgui.dll.meta │ │ │ ├── win-x86.meta │ │ │ └── win-x86 │ │ │ ├── cimgui.dll │ │ │ └── cimgui.dll.meta │ ├── RangeAccessor.cs │ ├── RangeAccessor.cs.meta │ ├── Util.cs │ ├── Util.cs.meta │ ├── build.meta │ └── build │ │ ├── net40.meta │ │ └── net40 │ │ ├── ImGui.NET.targets │ │ └── ImGui.NET.targets.meta │ ├── ImGuiController.cs │ ├── ImGuiController.cs.meta │ ├── ImGuiConversions.cs │ ├── ImGuiConversions.cs.meta │ ├── ImGuiDemoWindow.cs │ ├── ImGuiDemoWindow.cs.meta │ ├── ImGuiInput.cs │ ├── ImGuiInput.cs.meta │ ├── ImGuiPluginHook.cs │ └── ImGuiPluginHook.cs.meta ├── Packages ├── System.Runtime.CompilerServices.Unsafe.4.5.2 │ ├── .signature.p7s │ ├── LICENSE.TXT │ ├── System.Runtime.CompilerServices.Unsafe.4.5.2.nupkg │ ├── THIRD-PARTY-NOTICES.TXT │ ├── lib │ │ ├── netcoreapp2.0 │ │ │ ├── System.Runtime.CompilerServices.Unsafe.dll │ │ │ └── System.Runtime.CompilerServices.Unsafe.xml │ │ ├── netstandard1.0 │ │ │ ├── System.Runtime.CompilerServices.Unsafe.dll │ │ │ └── System.Runtime.CompilerServices.Unsafe.xml │ │ └── netstandard2.0 │ │ │ ├── System.Runtime.CompilerServices.Unsafe.dll │ │ │ └── System.Runtime.CompilerServices.Unsafe.xml │ ├── ref │ │ ├── netstandard1.0 │ │ │ ├── System.Runtime.CompilerServices.Unsafe.dll │ │ │ └── System.Runtime.CompilerServices.Unsafe.xml │ │ └── netstandard2.0 │ │ │ ├── System.Runtime.CompilerServices.Unsafe.dll │ │ │ └── System.Runtime.CompilerServices.Unsafe.xml │ ├── useSharedDesignerContext.txt │ └── version.txt └── manifest.json ├── ProjectSettings ├── AudioManager.asset ├── BurstAotSettings_StandaloneWindows.json ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── NavMeshLayers.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset ├── UnityConnectSettings.asset ├── VFXManager.asset └── XRSettings.asset └── imgui.ini /.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity 2 | project directory 3 | # 4 | # Get latest from 5 | https://github.com/github/gitignore/blob/master/Unity.gitignore 6 | # 7 | /[Ll]ibrary/ 8 | /[Tt]emp/ 9 | /[Oo]bj/ 10 | /[Bb]uild/ 11 | /[Bb]uilds/ 12 | /[Ll]ogs/ 13 | /[Mm]emoryCaptures/ 14 | 15 | # Never ignore Asset meta data 16 | !/[Aa]ssets/**/*.meta 17 | 18 | # Uncomment this line if you wish to ignore the asset store tools plugin 19 | # /[Aa]ssets/AssetStoreTools* 20 | 21 | # TextMesh Pro files 22 | [Aa]ssets/TextMesh*Pro/ 23 | 24 | # Autogenerated Jetbrains Rider plugin 25 | [Aa]ssets/Plugins/Editor/JetBrains* 26 | 27 | # Visual Studio cache directory 28 | .vs/ 29 | 30 | # Gradle cache directory 31 | .gradle/ 32 | 33 | # Autogenerated VS/MD/Consulo solution and project files 34 | ExportedObj/ 35 | .consulo/ 36 | *.csproj 37 | *.unityproj 38 | *.sln 39 | *.suo 40 | *.tmp 41 | *.user 42 | *.userprefs 43 | *.pidb 44 | *.booproj 45 | *.svd 46 | *.pdb 47 | *.mdb 48 | *.opendb 49 | *.VC.db 50 | *.vcxproj 51 | *.vcxproj.filters 52 | 53 | # Unity3D generated meta files 54 | *.pidb.meta 55 | *.pdb.meta 56 | *.mdb.meta 57 | 58 | # Unity3D generated file on crash reports 59 | sysinfo.txt 60 | 61 | # Builds 62 | *.apk 63 | *.unitypackage 64 | 65 | # Crashlytics generated file 66 | crashlytics-build.properties 67 | 68 | PluginSource/source/projectFiles 69 | 70 | /PluginSource/projects 71 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | 2 | [submodule "PluginSource/cimgui"] 3 | path = PluginSource/cimgui 4 | url = https://github.com/cimgui/cimgui 5 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2019-2020 Jay Xavier Peet and UnityImGui contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /PluginSource/source/PlatformBase.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Standard base includes, defines that indicate our current platform, etc. 4 | 5 | #include 6 | 7 | 8 | // Which platform we are on? 9 | // UNITY_WIN - Windows (regular win32) 10 | // UNITY_OSX - Mac OS X 11 | // UNITY_LINUX - Linux 12 | // UNITY_IPHONE - iOS 13 | // UNITY_ANDROID - Android 14 | // UNITY_METRO - WSA or UWP 15 | // UNITY_WEBGL - WebGL 16 | #if _MSC_VER 17 | #define UNITY_WIN 1 18 | #elif defined(__APPLE__) 19 | #if defined(__arm__) || defined(__arm64__) 20 | #define UNITY_IPHONE 1 21 | #else 22 | #define UNITY_OSX 1 23 | #endif 24 | #elif defined(__ANDROID__) 25 | #define UNITY_ANDROID 1 26 | #elif defined(UNITY_METRO) || defined(UNITY_LINUX) || defined(UNITY_WEBGL) 27 | // these are defined externally 28 | #elif defined(__EMSCRIPTEN__) 29 | // this is already defined in Unity 5.6 30 | #define UNITY_WEBGL 1 31 | #else 32 | #error "Unknown platform!" 33 | #endif 34 | 35 | 36 | 37 | // Which graphics device APIs we possibly support? 38 | #if UNITY_METRO 39 | #define SUPPORT_D3D11 1 40 | #if WINDOWS_UWP 41 | #define SUPPORT_D3D12 1 42 | #endif 43 | #elif UNITY_WIN 44 | #define SUPPORT_D3D11 1 // comment this out if you don't have D3D11 header/library files 45 | #define SUPPORT_D3D12 1 //@TODO: enable by default? comment this out if you don't have D3D12 header/library files 46 | #define SUPPORT_OPENGL_UNIFIED 1 47 | #define SUPPORT_OPENGL_CORE 1 48 | #define SUPPORT_VULKAN 0 // Requires Vulkan SDK to be installed 49 | #elif UNITY_IPHONE || UNITY_ANDROID || UNITY_WEBGL 50 | #ifndef SUPPORT_OPENGL_ES 51 | #define SUPPORT_OPENGL_ES 1 52 | #endif 53 | #define SUPPORT_OPENGL_UNIFIED SUPPORT_OPENGL_ES 54 | #ifndef SUPPORT_VULKAN 55 | #define SUPPORT_VULKAN 0 56 | #endif 57 | #elif UNITY_OSX || UNITY_LINUX 58 | #define SUPPORT_OPENGL_UNIFIED 1 59 | #define SUPPORT_OPENGL_CORE 1 60 | #endif 61 | 62 | #if UNITY_IPHONE || UNITY_OSX 63 | #define SUPPORT_METAL 1 64 | #endif 65 | 66 | 67 | 68 | // COM-like Release macro 69 | #ifndef SAFE_RELEASE 70 | #define SAFE_RELEASE(a) if (a) { a->Release(); a = NULL; } 71 | #endif 72 | 73 | -------------------------------------------------------------------------------- /PluginSource/source/RenderAPI.cpp: -------------------------------------------------------------------------------- 1 | #include "RenderAPI.h" 2 | #include "PlatformBase.h" 3 | #include "Unity/IUnityGraphics.h" 4 | 5 | 6 | RenderAPI* CreateRenderAPI(UnityGfxRenderer apiType) 7 | { 8 | # if SUPPORT_D3D11 9 | if (apiType == kUnityGfxRendererD3D11) 10 | { 11 | extern RenderAPI* CreateRenderAPI_D3D11(); 12 | return CreateRenderAPI_D3D11(); 13 | } 14 | # endif // if SUPPORT_D3D11 15 | 16 | # if SUPPORT_D3D12 17 | if (apiType == kUnityGfxRendererD3D12) 18 | { 19 | extern RenderAPI* CreateRenderAPI_D3D12(); 20 | return CreateRenderAPI_D3D12(); 21 | } 22 | # endif // if SUPPORT_D3D12 23 | 24 | 25 | # if SUPPORT_OPENGL_UNIFIED 26 | if (apiType == kUnityGfxRendererOpenGLCore || apiType == kUnityGfxRendererOpenGLES20 || apiType == kUnityGfxRendererOpenGLES30) 27 | { 28 | extern RenderAPI* CreateRenderAPI_OpenGLCoreES(UnityGfxRenderer apiType); 29 | return CreateRenderAPI_OpenGLCoreES(apiType); 30 | } 31 | # endif // if SUPPORT_OPENGL_UNIFIED 32 | 33 | # if SUPPORT_METAL 34 | if (apiType == kUnityGfxRendererMetal) 35 | { 36 | extern RenderAPI* CreateRenderAPI_Metal(); 37 | return CreateRenderAPI_Metal(); 38 | } 39 | # endif // if SUPPORT_METAL 40 | 41 | # if SUPPORT_VULKAN 42 | if (apiType == kUnityGfxRendererVulkan) 43 | { 44 | extern RenderAPI* CreateRenderAPI_Vulkan(); 45 | return CreateRenderAPI_Vulkan(); 46 | } 47 | # endif // if SUPPORT_VULKAN 48 | 49 | // Unknown or unsupported graphics API 50 | return NULL; 51 | } 52 | -------------------------------------------------------------------------------- /PluginSource/source/RenderAPI.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Unity/IUnityGraphics.h" 4 | 5 | #include "cimgui.h" 6 | 7 | #include 8 | 9 | struct IUnityInterfaces; 10 | 11 | // Super-simple "graphics abstraction". This is nothing like how a proper platform abstraction layer would look like; 12 | // all this does is a base interface for whatever our plugin sample needs. Which is only "draw some triangles" 13 | // and "modify a texture" at this point. 14 | // 15 | // There are implementations of this base class for D3D9, D3D11, OpenGL etc.; see individual RenderAPI_* files. 16 | class RenderAPI 17 | { 18 | public: 19 | virtual ~RenderAPI() { } 20 | 21 | 22 | // Process general event like initialization, shutdown, device loss/reset etc. 23 | virtual void ProcessDeviceEvent(UnityGfxDeviceEventType type, IUnityInterfaces* interfaces) = 0; 24 | 25 | // Is the API using "reversed" (1.0 at near plane, 0.0 at far plane) depth buffer? 26 | // Reversed Z is used on modern platforms, and improves depth buffer precision. 27 | virtual bool GetUsesReverseZ() = 0; 28 | 29 | virtual ImTextureID CreateImGuiFontsTexture(void* pixels, int width, int height, int bytesPerPixel) = 0; 30 | virtual void ProcessImGuiCommandList(ImDrawData* drawData) = 0; 31 | }; 32 | 33 | 34 | // Create a graphics API implementation instance for the given API type. 35 | RenderAPI* CreateRenderAPI(UnityGfxRenderer apiType); 36 | 37 | -------------------------------------------------------------------------------- /PluginSource/source/RenderingPlugin.cpp: -------------------------------------------------------------------------------- 1 | // Example low level rendering Unity plugin 2 | 3 | #include "PlatformBase.h" 4 | #include "RenderAPI.h" 5 | 6 | #include "cimgui.h" 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | 14 | // -------------------------------------------------------------------------- 15 | // UnitySetInterfaces 16 | 17 | static void UNITY_INTERFACE_API OnGraphicsDeviceEvent(UnityGfxDeviceEventType eventType); 18 | 19 | static IUnityInterfaces* s_UnityInterfaces = NULL; 20 | static IUnityGraphics* s_Graphics = NULL; 21 | 22 | static ImDrawData* s_drawData = NULL; 23 | 24 | void CleanupDrawLists(ImDrawData* drawData) 25 | { 26 | // D11.JN: CmdLists are normally managed internally by imgui, but we're cloning them so we need to take responsibility for cleanup 27 | if (drawData->CmdLists) 28 | { 29 | for (int i = 0; i < drawData->CmdListsCount; ++i) 30 | { 31 | ImDrawList_ClearFreeMemory(drawData->CmdLists[i]); 32 | igMemFree(drawData->CmdLists[i]); 33 | } 34 | delete[] drawData->CmdLists; 35 | } 36 | } 37 | 38 | 39 | extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API UnityPluginLoad(IUnityInterfaces* unityInterfaces) 40 | { 41 | s_UnityInterfaces = unityInterfaces; 42 | s_Graphics = s_UnityInterfaces->Get(); 43 | s_Graphics->RegisterDeviceEventCallback(OnGraphicsDeviceEvent); 44 | 45 | s_drawData = new ImDrawData(); 46 | 47 | #if SUPPORT_VULKAN 48 | if (s_Graphics->GetRenderer() == kUnityGfxRendererNull) 49 | { 50 | extern void RenderAPI_Vulkan_OnPluginLoad(IUnityInterfaces*); 51 | RenderAPI_Vulkan_OnPluginLoad(unityInterfaces); 52 | } 53 | #endif // SUPPORT_VULKAN 54 | 55 | // Run OnGraphicsDeviceEvent(initialize) manually on plugin load 56 | OnGraphicsDeviceEvent(kUnityGfxDeviceEventInitialize); 57 | } 58 | 59 | extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API UnityPluginUnload() 60 | { 61 | CleanupDrawLists(s_drawData); 62 | ImDrawData_destroy(s_drawData); 63 | 64 | s_Graphics->UnregisterDeviceEventCallback(OnGraphicsDeviceEvent); 65 | } 66 | 67 | #if UNITY_WEBGL 68 | typedef void (UNITY_INTERFACE_API * PluginLoadFunc)(IUnityInterfaces* unityInterfaces); 69 | typedef void (UNITY_INTERFACE_API * PluginUnloadFunc)(); 70 | 71 | extern "C" void UnityRegisterRenderingPlugin(PluginLoadFunc loadPlugin, PluginUnloadFunc unloadPlugin); 72 | 73 | extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API RegisterPlugin() 74 | { 75 | UnityRegisterRenderingPlugin(UnityPluginLoad, UnityPluginUnload); 76 | } 77 | #endif 78 | 79 | // -------------------------------------------------------------------------- 80 | // GraphicsDeviceEvent 81 | 82 | 83 | static RenderAPI* s_CurrentAPI = NULL; 84 | static UnityGfxRenderer s_DeviceType = kUnityGfxRendererNull; 85 | 86 | 87 | static void UNITY_INTERFACE_API OnGraphicsDeviceEvent(UnityGfxDeviceEventType eventType) 88 | { 89 | // Create graphics API implementation upon initialization 90 | if (eventType == kUnityGfxDeviceEventInitialize) 91 | { 92 | assert(s_CurrentAPI == NULL); 93 | s_DeviceType = s_Graphics->GetRenderer(); 94 | s_CurrentAPI = CreateRenderAPI(s_DeviceType); 95 | } 96 | 97 | // Let the implementation process the device related events 98 | if (s_CurrentAPI) 99 | { 100 | s_CurrentAPI->ProcessDeviceEvent(eventType, s_UnityInterfaces); 101 | } 102 | 103 | // Cleanup graphics API implementation upon shutdown 104 | if (eventType == kUnityGfxDeviceEventShutdown) 105 | { 106 | delete s_CurrentAPI; 107 | s_CurrentAPI = NULL; 108 | s_DeviceType = kUnityGfxRendererNull; 109 | } 110 | } 111 | 112 | 113 | 114 | // -------------------------------------------------------------------------- 115 | // OnRenderEvent 116 | // This will be called for GL.IssuePluginEvent script calls; eventID will 117 | // be the integer passed to IssuePluginEvent. In this example, we just ignore 118 | // that value. 119 | static void UNITY_INTERFACE_API OnRenderEvent(int eventID) 120 | { 121 | // Unknown / unsupported graphics device type? Do nothing 122 | if (s_CurrentAPI == NULL) 123 | return; 124 | 125 | if (s_drawData) 126 | { 127 | s_CurrentAPI->ProcessImGuiCommandList(s_drawData); 128 | } 129 | } 130 | 131 | 132 | // -------------------------------------------------------------------------- 133 | // GetRenderEventFunc, an example function we export which is used to get a rendering event callback function. 134 | 135 | extern "C" UnityRenderingEvent UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API GetRenderEventFunc() 136 | { 137 | return OnRenderEvent; 138 | } 139 | 140 | 141 | // 142 | typedef void(__stdcall* DebugCallback) (const char* str); 143 | DebugCallback gDebugCallback; 144 | 145 | extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API RegisterDebugCallback(DebugCallback callback) 146 | { 147 | if (callback) 148 | { 149 | gDebugCallback = callback; 150 | } 151 | } 152 | 153 | static void DebugInUnity(std::string message) 154 | { 155 | if (gDebugCallback) 156 | { 157 | gDebugCallback(message.c_str()); 158 | } 159 | } 160 | 161 | extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API SendImGuiDrawCommands(ImDrawData* inData) 162 | { 163 | CleanupDrawLists(s_drawData); 164 | ImDrawData_Clear(s_drawData); 165 | 166 | if (inData) 167 | { 168 | s_drawData->Valid = inData->Valid; 169 | s_drawData->CmdListsCount = inData->CmdListsCount; 170 | s_drawData->TotalIdxCount = inData->TotalIdxCount; 171 | s_drawData->TotalVtxCount = inData->TotalVtxCount; 172 | s_drawData->DisplayPos = inData->DisplayPos; 173 | s_drawData->DisplaySize = inData->DisplaySize; 174 | s_drawData->FramebufferScale = inData->FramebufferScale; 175 | 176 | s_drawData->CmdLists = inData->CmdListsCount ? new ImDrawList*[inData->CmdListsCount] : NULL; 177 | 178 | for (int i = 0; i < inData->CmdListsCount; ++i) 179 | { 180 | s_drawData->CmdLists[i] = ImDrawList_CloneOutput(inData->CmdLists[i]); 181 | } 182 | } 183 | } 184 | 185 | extern "C" ImTextureID UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API GenerateImGuiFontTexture(void* pixels, int width, int height, int bytesPerPixel) 186 | { 187 | return s_CurrentAPI->CreateImGuiFontsTexture(pixels, width, height, bytesPerPixel); 188 | } 189 | 190 | -------------------------------------------------------------------------------- /PluginSource/source/RenderingPlugin.def: -------------------------------------------------------------------------------- 1 | ; file used by Visual Studio plugin builds, mostly for 32-bit 2 | ; to stop mangling our exported function names 3 | 4 | LIBRARY 5 | 6 | EXPORTS 7 | UnityPluginLoad 8 | UnityPluginUnload 9 | SetTimeFromUnity 10 | SetTextureFromUnity 11 | SetMeshBuffersFromUnity 12 | GetRenderEventFunc 13 | -------------------------------------------------------------------------------- /PluginSource/source/Unity/IUnityGraphics.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "IUnityInterface.h" 3 | 4 | typedef enum UnityGfxRenderer 5 | { 6 | //kUnityGfxRendererOpenGL = 0, // Legacy OpenGL, removed 7 | //kUnityGfxRendererD3D9 = 1, // Direct3D 9, removed 8 | kUnityGfxRendererD3D11 = 2, // Direct3D 11 9 | kUnityGfxRendererGCM = 3, // PlayStation 3 10 | kUnityGfxRendererNull = 4, // "null" device (used in batch mode) 11 | kUnityGfxRendererOpenGLES20 = 8, // OpenGL ES 2.0 12 | kUnityGfxRendererOpenGLES30 = 11, // OpenGL ES 3.0 13 | kUnityGfxRendererGXM = 12, // PlayStation Vita 14 | kUnityGfxRendererPS4 = 13, // PlayStation 4 15 | kUnityGfxRendererXboxOne = 14, // Xbox One 16 | kUnityGfxRendererMetal = 16, // iOS Metal 17 | kUnityGfxRendererOpenGLCore = 17, // OpenGL core 18 | kUnityGfxRendererD3D12 = 18, // Direct3D 12 19 | kUnityGfxRendererVulkan = 21, // Vulkan 20 | kUnityGfxRendererNvn = 22, // Nintendo Switch NVN API 21 | kUnityGfxRendererXboxOneD3D12 = 23 // MS XboxOne Direct3D 12 22 | } UnityGfxRenderer; 23 | 24 | typedef enum UnityGfxDeviceEventType 25 | { 26 | kUnityGfxDeviceEventInitialize = 0, 27 | kUnityGfxDeviceEventShutdown = 1, 28 | kUnityGfxDeviceEventBeforeReset = 2, 29 | kUnityGfxDeviceEventAfterReset = 3, 30 | } UnityGfxDeviceEventType; 31 | 32 | typedef void (UNITY_INTERFACE_API * IUnityGraphicsDeviceEventCallback)(UnityGfxDeviceEventType eventType); 33 | 34 | // Should only be used on the rendering thread unless noted otherwise. 35 | UNITY_DECLARE_INTERFACE(IUnityGraphics) 36 | { 37 | UnityGfxRenderer(UNITY_INTERFACE_API * GetRenderer)(); // Thread safe 38 | 39 | // This callback will be called when graphics device is created, destroyed, reset, etc. 40 | // It is possible to miss the kUnityGfxDeviceEventInitialize event in case plugin is loaded at a later time, 41 | // when the graphics device is already created. 42 | void(UNITY_INTERFACE_API * RegisterDeviceEventCallback)(IUnityGraphicsDeviceEventCallback callback); 43 | void(UNITY_INTERFACE_API * UnregisterDeviceEventCallback)(IUnityGraphicsDeviceEventCallback callback); 44 | int(UNITY_INTERFACE_API * ReserveEventIDRange)(int count); // reserves 'count' event IDs. Plugins should use the result as a base index when issuing events back and forth to avoid event id clashes. 45 | }; 46 | UNITY_REGISTER_INTERFACE_GUID(0x7CBA0A9CA4DDB544ULL, 0x8C5AD4926EB17B11ULL, IUnityGraphics) 47 | 48 | 49 | // Certain Unity APIs (GL.IssuePluginEvent, CommandBuffer.IssuePluginEvent) can callback into native plugins. 50 | // Provide them with an address to a function of this signature. 51 | typedef void (UNITY_INTERFACE_API * UnityRenderingEvent)(int eventId); 52 | typedef void (UNITY_INTERFACE_API * UnityRenderingEventAndData)(int eventId, void* data); 53 | -------------------------------------------------------------------------------- /PluginSource/source/Unity/IUnityGraphicsD3D11.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "IUnityInterface.h" 3 | 4 | 5 | // Should only be used on the rendering thread unless noted otherwise. 6 | UNITY_DECLARE_INTERFACE(IUnityGraphicsD3D11) 7 | { 8 | ID3D11Device* (UNITY_INTERFACE_API * GetDevice)(); 9 | 10 | ID3D11Resource* (UNITY_INTERFACE_API * TextureFromRenderBuffer)(UnityRenderBuffer buffer); 11 | ID3D11Resource* (UNITY_INTERFACE_API * TextureFromNativeTexture)(UnityTextureID texture); 12 | 13 | ID3D11RenderTargetView* (UNITY_INTERFACE_API * RTVFromRenderBuffer)(UnityRenderBuffer surface); 14 | ID3D11ShaderResourceView* (UNITY_INTERFACE_API * SRVFromNativeTexture)(UnityTextureID texture); 15 | }; 16 | 17 | UNITY_REGISTER_INTERFACE_GUID(0xAAB37EF87A87D748ULL, 0xBF76967F07EFB177ULL, IUnityGraphicsD3D11) 18 | -------------------------------------------------------------------------------- /PluginSource/source/Unity/IUnityGraphicsD3D12.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "IUnityInterface.h" 3 | #ifndef __cplusplus 4 | #include 5 | #endif 6 | 7 | struct RenderSurfaceBase; 8 | typedef struct RenderSurfaceBase* UnityRenderBuffer; 9 | 10 | typedef struct UnityGraphicsD3D12ResourceState UnityGraphicsD3D12ResourceState; 11 | struct UnityGraphicsD3D12ResourceState 12 | { 13 | ID3D12Resource* resource; // Resource to barrier. 14 | D3D12_RESOURCE_STATES expected; // Expected resource state before this command list is executed. 15 | D3D12_RESOURCE_STATES current; // State this resource will be in after this command list is executed. 16 | }; 17 | 18 | typedef struct UnityGraphicsD3D12PhysicalVideoMemoryControlValues UnityGraphicsD3D12PhysicalVideoMemoryControlValues; 19 | struct UnityGraphicsD3D12PhysicalVideoMemoryControlValues // all values in bytes 20 | { 21 | UINT64 reservation; // Minimum required physical memory for an application [default = 64MB]. 22 | UINT64 systemMemoryThreshold; // If free physical video memory drops below this threshold, resources will be allocated in system memory. [default = 64MB] 23 | UINT64 residencyThreshold; // Minimum free physical video memory needed to start bringing evicted resources back after shrunken video memory budget expands again. [default = 128MB] 24 | }; 25 | 26 | // Should only be used on the rendering/submission thread. 27 | UNITY_DECLARE_INTERFACE(IUnityGraphicsD3D12v5) 28 | { 29 | ID3D12Device* (UNITY_INTERFACE_API * GetDevice)(); 30 | 31 | ID3D12Fence* (UNITY_INTERFACE_API * GetFrameFence)(); 32 | // Returns the value set on the frame fence once the current frame completes or the GPU is flushed 33 | UINT64(UNITY_INTERFACE_API * GetNextFrameFenceValue)(); 34 | 35 | // Executes a given command list on a worker thread. 36 | // [Optional] Declares expected and post-execution resource states. 37 | // Returns the fence value. 38 | UINT64(UNITY_INTERFACE_API * ExecuteCommandList)(ID3D12GraphicsCommandList * commandList, int stateCount, UnityGraphicsD3D12ResourceState * states); 39 | 40 | void(UNITY_INTERFACE_API * SetPhysicalVideoMemoryControlValues)(const UnityGraphicsD3D12PhysicalVideoMemoryControlValues * memInfo); 41 | 42 | ID3D12CommandQueue* (UNITY_INTERFACE_API * GetCommandQueue)(); 43 | 44 | ID3D12Resource* (UNITY_INTERFACE_API * TextureFromRenderBuffer)(UnityRenderBuffer * rb); 45 | }; 46 | UNITY_REGISTER_INTERFACE_GUID(0xF5C8D8A37D37BC42ULL, 0xB02DFE93B5064A27ULL, IUnityGraphicsD3D12v5) 47 | 48 | // Should only be used on the rendering/submission thread. 49 | UNITY_DECLARE_INTERFACE(IUnityGraphicsD3D12v4) 50 | { 51 | ID3D12Device* (UNITY_INTERFACE_API * GetDevice)(); 52 | 53 | ID3D12Fence* (UNITY_INTERFACE_API * GetFrameFence)(); 54 | // Returns the value set on the frame fence once the current frame completes or the GPU is flushed 55 | UINT64(UNITY_INTERFACE_API * GetNextFrameFenceValue)(); 56 | 57 | // Executes a given command list on a worker thread. 58 | // [Optional] Declares expected and post-execution resource states. 59 | // Returns the fence value. 60 | UINT64(UNITY_INTERFACE_API * ExecuteCommandList)(ID3D12GraphicsCommandList * commandList, int stateCount, UnityGraphicsD3D12ResourceState * states); 61 | 62 | void(UNITY_INTERFACE_API * SetPhysicalVideoMemoryControlValues)(const UnityGraphicsD3D12PhysicalVideoMemoryControlValues * memInfo); 63 | 64 | ID3D12CommandQueue* (UNITY_INTERFACE_API * GetCommandQueue)(); 65 | }; 66 | UNITY_REGISTER_INTERFACE_GUID(0X498FFCC13EC94006ULL, 0XB18F8B0FF67778C8ULL, IUnityGraphicsD3D12v4) 67 | 68 | // Should only be used on the rendering/submission thread. 69 | UNITY_DECLARE_INTERFACE(IUnityGraphicsD3D12v3) 70 | { 71 | ID3D12Device* (UNITY_INTERFACE_API * GetDevice)(); 72 | 73 | ID3D12Fence* (UNITY_INTERFACE_API * GetFrameFence)(); 74 | // Returns the value set on the frame fence once the current frame completes or the GPU is flushed 75 | UINT64(UNITY_INTERFACE_API * GetNextFrameFenceValue)(); 76 | 77 | // Executes a given command list on a worker thread. 78 | // [Optional] Declares expected and post-execution resource states. 79 | // Returns the fence value. 80 | UINT64(UNITY_INTERFACE_API * ExecuteCommandList)(ID3D12GraphicsCommandList * commandList, int stateCount, UnityGraphicsD3D12ResourceState * states); 81 | 82 | void(UNITY_INTERFACE_API * SetPhysicalVideoMemoryControlValues)(const UnityGraphicsD3D12PhysicalVideoMemoryControlValues * memInfo); 83 | }; 84 | UNITY_REGISTER_INTERFACE_GUID(0x57C3FAFE59E5E843ULL, 0xBF4F5998474BB600ULL, IUnityGraphicsD3D12v3) 85 | 86 | // Should only be used on the rendering/submission thread. 87 | UNITY_DECLARE_INTERFACE(IUnityGraphicsD3D12v2) 88 | { 89 | ID3D12Device* (UNITY_INTERFACE_API * GetDevice)(); 90 | 91 | ID3D12Fence* (UNITY_INTERFACE_API * GetFrameFence)(); 92 | // Returns the value set on the frame fence once the current frame completes or the GPU is flushed 93 | UINT64(UNITY_INTERFACE_API * GetNextFrameFenceValue)(); 94 | 95 | // Executes a given command list on a worker thread. 96 | // [Optional] Declares expected and post-execution resource states. 97 | // Returns the fence value. 98 | UINT64(UNITY_INTERFACE_API * ExecuteCommandList)(ID3D12GraphicsCommandList * commandList, int stateCount, UnityGraphicsD3D12ResourceState * states); 99 | }; 100 | UNITY_REGISTER_INTERFACE_GUID(0xEC39D2F18446C745ULL, 0xB1A2626641D6B11FULL, IUnityGraphicsD3D12v2) 101 | 102 | 103 | // Obsolete 104 | UNITY_DECLARE_INTERFACE(IUnityGraphicsD3D12) 105 | { 106 | ID3D12Device* (UNITY_INTERFACE_API * GetDevice)(); 107 | ID3D12CommandQueue* (UNITY_INTERFACE_API * GetCommandQueue)(); 108 | 109 | ID3D12Fence* (UNITY_INTERFACE_API * GetFrameFence)(); 110 | // Returns the value set on the frame fence once the current frame completes or the GPU is flushed 111 | UINT64(UNITY_INTERFACE_API * GetNextFrameFenceValue)(); 112 | 113 | // Returns the state a resource will be in after the last command list is executed 114 | bool(UNITY_INTERFACE_API * GetResourceState)(ID3D12Resource * resource, D3D12_RESOURCE_STATES * outState); 115 | // Specifies the state a resource will be in after a plugin command list with resource barriers is executed 116 | void(UNITY_INTERFACE_API * SetResourceState)(ID3D12Resource * resource, D3D12_RESOURCE_STATES state); 117 | }; 118 | UNITY_REGISTER_INTERFACE_GUID(0xEF4CEC88A45F4C4CULL, 0xBD295B6F2A38D9DEULL, IUnityGraphicsD3D12) 119 | -------------------------------------------------------------------------------- /PluginSource/source/Unity/IUnityGraphicsD3D9.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "IUnityInterface.h" 3 | 4 | // Should only be used on the rendering thread unless noted otherwise. 5 | UNITY_DECLARE_INTERFACE(IUnityGraphicsD3D9) 6 | { 7 | IDirect3D9* (UNITY_INTERFACE_API * GetD3D)(); 8 | IDirect3DDevice9* (UNITY_INTERFACE_API * GetDevice)(); 9 | }; 10 | UNITY_REGISTER_INTERFACE_GUID(0xE90746A523D53C4CULL, 0xAC825B19B6F82AC3ULL, IUnityGraphicsD3D9) 11 | -------------------------------------------------------------------------------- /PluginSource/source/Unity/IUnityGraphicsMetal.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "IUnityInterface.h" 3 | 4 | #ifndef __OBJC__ 5 | #error metal plugin is objc code. 6 | #endif 7 | #ifndef __clang__ 8 | #error only clang compiler is supported. 9 | #endif 10 | 11 | @class NSBundle; 12 | @protocol MTLDevice; 13 | @protocol MTLCommandBuffer; 14 | @protocol MTLCommandEncoder; 15 | @protocol MTLTexture; 16 | @class MTLRenderPassDescriptor; 17 | 18 | // Should only be used on the rendering thread unless noted otherwise. 19 | UNITY_DECLARE_INTERFACE(IUnityGraphicsMetal) 20 | { 21 | NSBundle* (UNITY_INTERFACE_API * MetalBundle)(); 22 | id(UNITY_INTERFACE_API * MetalDevice)(); 23 | 24 | id(UNITY_INTERFACE_API * CurrentCommandBuffer)(); 25 | 26 | // for custom rendering support there are two scenarios: 27 | // you want to use current in-flight MTLCommandEncoder (NB: it might be nil) 28 | id(UNITY_INTERFACE_API * CurrentCommandEncoder)(); 29 | // or you might want to create your own encoder. 30 | // In that case you should end unity's encoder before creating your own and end yours before returning control to unity 31 | void(UNITY_INTERFACE_API * EndCurrentCommandEncoder)(); 32 | 33 | // returns MTLRenderPassDescriptor used to create current MTLCommandEncoder 34 | MTLRenderPassDescriptor* (UNITY_INTERFACE_API * CurrentRenderPassDescriptor)(); 35 | 36 | // converting trampoline UnityRenderBufferHandle into native RenderBuffer 37 | UnityRenderBuffer(UNITY_INTERFACE_API * RenderBufferFromHandle)(void* bufferHandle); 38 | 39 | // access to RenderBuffer's texure 40 | // NB: you pass here *native* RenderBuffer, acquired by calling (C#) RenderBuffer.GetNativeRenderBufferPtr 41 | // AAResolvedTextureFromRenderBuffer will return nil in case of non-AA RenderBuffer or if called for depth RenderBuffer 42 | // StencilTextureFromRenderBuffer will return nil in case of no-stencil RenderBuffer or if called for color RenderBuffer 43 | id(UNITY_INTERFACE_API * TextureFromRenderBuffer)(UnityRenderBuffer buffer); 44 | id(UNITY_INTERFACE_API * AAResolvedTextureFromRenderBuffer)(UnityRenderBuffer buffer); 45 | id(UNITY_INTERFACE_API * StencilTextureFromRenderBuffer)(UnityRenderBuffer buffer); 46 | }; 47 | UNITY_REGISTER_INTERFACE_GUID(0x992C8EAEA95811E5ULL, 0x9A62C4B5B9876117ULL, IUnityGraphicsMetal) 48 | -------------------------------------------------------------------------------- /PluginSource/source/gl3w/readme.txt: -------------------------------------------------------------------------------- 1 | gl3w is a small/simple OpenGL functions loader for Windows, 2 | from https://github.com/skaslev/gl3w 3 | 4 | license: public domain 5 | -------------------------------------------------------------------------------- /PluginSource/source/lib/d3dcompiler.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JayPeet/UnityImGUI/ba462388cbfed3afcff62d417d6e6f5fc2457c03/PluginSource/source/lib/d3dcompiler.lib -------------------------------------------------------------------------------- /PluginSource/source/premake5.lua: -------------------------------------------------------------------------------- 1 | workspace "UnityImGui" 2 | configurations {"Debug", "Release"} 3 | architecture "x64" 4 | group "Dependencies" 5 | include "vendor/CImGui" 6 | group "" 7 | project "UnityImGuiRenderer" 8 | kind "SharedLib" 9 | language "C++" 10 | cppdialect "C++17" 11 | staticruntime "on" 12 | 13 | filter {"system:windows", "configurations:Release"} 14 | targetdir "../win/release" 15 | filter {"system:windows", "configurations:Debug"} 16 | targetdir "../win/debug" 17 | filter{} 18 | 19 | objdir "projectfiles/" 20 | location "." 21 | files {"**.h", "**.hpp", "**.c","**.cpp"} 22 | 23 | includedirs{ "../cimgui"} 24 | 25 | defines{ "CIMGUI_DEFINE_ENUMS_AND_STRUCTS" } 26 | 27 | links{"cimgui"} 28 | 29 | filter {"system:windows", "configurations:Release"} 30 | libdirs{"../cimgui/win/release"} 31 | filter {"system:windows", "configurations:Debug"} 32 | libdirs{"../cimgui/win/debug"} 33 | filter {} 34 | 35 | links {"CImGuiShared"} 36 | filter "system:windows" 37 | systemversion "latest" 38 | links {"opengl32"} 39 | filter "configurations:Debug" 40 | symbols "On" 41 | filter "configurations:Release" 42 | optimize "On" 43 | -------------------------------------------------------------------------------- /PluginSource/source/vendor/CImGui/premake5.lua: -------------------------------------------------------------------------------- 1 | -- Premake5 file for CImGui, Damien Henderson 2020 2 | -- In this fake vendor folder to avoid needing a fork of the repo for the submodule 3 | 4 | CImGuiPath = "../../../cimgui/" 5 | 6 | function MakePath(relativePath) 7 | return CImGuiPath .. relativePath 8 | end 9 | function BoilerPlate() 10 | language "C" 11 | 12 | objdir(MakePath("build/%{prj.name}/Obj/%{cfg.buildcfg}")) 13 | location(MakePath("build/%{prj.name}")) 14 | 15 | staticruntime "on" 16 | defines{"IMGUI_DISABLE_OBSOLETE_FUNCTIONS=1"} 17 | 18 | filter "system:windows" 19 | systemversion "latest" 20 | filter {"system:windows", "kind:SharedLib"} 21 | defines{"IMGUI_IMPL_API=extern \"C\" __declspec(dllexport)"} 22 | filter "system:not windows" 23 | defines{"IMGUI_IMPL_API=extern \"C\""} 24 | filter "configurations:Debug" 25 | symbols "On" 26 | filter "configurations:Release" 27 | optimize "On" 28 | filter {"configurations:Debug", "system:windows"} 29 | targetdir(MakePath("win/debug")) 30 | filter {"configurations:Release", "system:windows"} 31 | targetdir(MakePath("win/release")) 32 | filter{} 33 | 34 | 35 | 36 | includedirs {MakePath(""), MakePath("imgui")} 37 | files {MakePath("*.cpp"), MakePath("imgui/*.cpp")} 38 | targetname "cimgui" 39 | end 40 | 41 | 42 | project "CImGuiStatic" 43 | kind "StaticLib" 44 | BoilerPlate() 45 | project "CImGuiShared" 46 | kind "StaticLib" 47 | BoilerPlate() -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # UnityImGui 2 | 3 | [Dear ImGui](https://github.com/ocornut/imgui) within Unity thanks to [ImGui.NET](https://github.com/mellinoe/ImGui.NET) and the [Unity Low-level native plug-in interface](https://docs.unity3d.com/Manual/NativePluginInterface.html). 4 | 5 | Currently this is only a prototype showing that it can be done, but hopefully one day it will become a more robust drop in unity package for anyone to use. 6 | 7 | To build use premake on the PluginSource/source folder. Built assemblies will be placed into the unity project on build. 8 | 9 | ImGUI.NET is compiled within unity using an asmdef, as it uses unsafe c sharp code. 10 | 11 | 12 | # TODO (Help Required) 13 | 14 | - [x] DX11 renderer. 15 | - [ ] Clean up the DX11 renderer. 16 | - [ ] Figure out how calling ImGui callbacks is going to work, as they currently crash unity. 17 | - [ ] Cleanup the project structure as a whole. (.gitignore is uploading things it shouldn't, ImGui.NET should be a submodule etc.) 18 | - [ ] DX12 renderer. 19 | - [ ] Vulkan renderer. 20 | - [ ] Metal renderer. 21 | - [ ] OpenGL renderer. 22 | - [ ] OpenGLES renderer. 23 | - [ ] Add VR support, by allowing ImGui to be rendered onto a Unity texture, and displayed within 3D space. 24 | -------------------------------------------------------------------------------- /UnityImGUI/.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity 2 | project directory 3 | # 4 | # Get latest from 5 | https://github.com/github/gitignore/blob/master/Unity.gitignore 6 | # 7 | /[Ll]ibrary/ 8 | /[Tt]emp/ 9 | /[Oo]bj/ 10 | /[Bb]uild/ 11 | /[Bb]uilds/ 12 | /[Ll]ogs/ 13 | /[Mm]emoryCaptures/ 14 | /[Aa]ssets/[Pp]lugins 15 | /[Aa]ssets/[Pp]lugins.meta 16 | 17 | # Never ignore Asset meta data 18 | !/[Aa]ssets/**/*.meta 19 | 20 | # Uncomment this line if you wish to ignore the asset store tools plugin 21 | # /[Aa]ssets/AssetStoreTools* 22 | 23 | # TextMesh Pro files 24 | [Aa]ssets/TextMesh*Pro/ 25 | 26 | # Autogenerated Jetbrains Rider plugin 27 | [Aa]ssets/Plugins/Editor/JetBrains* 28 | 29 | # Visual Studio cache directory 30 | .vs/ 31 | 32 | # Gradle cache directory 33 | .gradle/ 34 | 35 | # Autogenerated VS/MD/Consulo solution and project files 36 | ExportedObj/ 37 | .consulo/ 38 | *.csproj 39 | *.unityproj 40 | *.sln 41 | *.suo 42 | *.tmp 43 | *.user 44 | *.userprefs 45 | *.pidb 46 | *.booproj 47 | *.svd 48 | *.pdb 49 | *.mdb 50 | *.opendb 51 | *.VC.db 52 | 53 | # Unity3D generated meta files 54 | *.pidb.meta 55 | *.pdb.meta 56 | *.mdb.meta 57 | 58 | # Unity3D generated file on crash reports 59 | sysinfo.txt 60 | 61 | # Builds 62 | *.apk 63 | *.unitypackage 64 | 65 | # Crashlytics generated file 66 | crashlytics-build.properties 67 | 68 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cefbdabab9bd36d4d8b520dd02c9bc77 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/ImGuiPluginHook.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &5512709392945489420 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 8851443790976247404} 12 | - component: {fileID: 389705011643448527} 13 | m_Layer: 0 14 | m_Name: ImGuiPluginHook 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &8851443790976247404 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 5512709392945489420} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0, y: 0, z: 0} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 34 | --- !u!114 &389705011643448527 35 | MonoBehaviour: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 5512709392945489420} 41 | m_Enabled: 1 42 | m_EditorHideFlags: 0 43 | m_Script: {fileID: 11500000, guid: 931df5ea90a37db4e866ec8ba962a5ec, type: 3} 44 | m_Name: 45 | m_EditorClassIdentifier: 46 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/ImGuiPluginHook.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 324aad44a7d145a429010c122011e7bb 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 527539e03cc3cee41a2793305db1e2d7 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Plugins/UnityImGuiRenderer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JayPeet/UnityImGUI/ba462388cbfed3afcff62d417d6e6f5fc2457c03/UnityImGUI/Assets/UnityImGui/Plugins/UnityImGuiRenderer.dll -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Plugins/UnityImGuiRenderer.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa0ce06001747834bb13288856ffc30e 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | userData: 26 | assetBundleName: 27 | assetBundleVariant: 28 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Plugins/UnityImGuiRenderer.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JayPeet/UnityImGUI/ba462388cbfed3afcff62d417d6e6f5fc2457c03/UnityImGUI/Assets/UnityImGui/Plugins/UnityImGuiRenderer.exp -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Plugins/UnityImGuiRenderer.exp.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ebc0c8673085d0642b4b87c26d577cf4 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Plugins/UnityImGuiRenderer.ilk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JayPeet/UnityImGUI/ba462388cbfed3afcff62d417d6e6f5fc2457c03/UnityImGUI/Assets/UnityImGui/Plugins/UnityImGuiRenderer.ilk -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Plugins/UnityImGuiRenderer.ilk.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e11be56fc82ca44e913d78f5bd6a10a 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Plugins/UnityImGuiRenderer.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JayPeet/UnityImGUI/ba462388cbfed3afcff62d417d6e6f5fc2457c03/UnityImGUI/Assets/UnityImGui/Plugins/UnityImGuiRenderer.lib -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Plugins/UnityImGuiRenderer.lib.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 88325605dd6b599468578c4378eb254e 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/SampleScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a04756aa25bd534458f84e5ae7a99a1e 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 92d1bdc3ef5a8824e9c43e1d0a9d8584 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scenes/ImGUITest.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c159f2591a9b5c843b0a0442451f78f8 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f87456a24f537e341be032dabfb28b0a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d3af2a3c9ddc7ac41b46eced62841ccd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 64a3af16178e1774b8ffc031280a055a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImColor.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImColor 9 | { 10 | public Vector4 Value; 11 | } 12 | public unsafe partial struct ImColorPtr 13 | { 14 | public ImColor* NativePtr { get; } 15 | public ImColorPtr(ImColor* nativePtr) => NativePtr = nativePtr; 16 | public ImColorPtr(IntPtr nativePtr) => NativePtr = (ImColor*)nativePtr; 17 | public static implicit operator ImColorPtr(ImColor* nativePtr) => new ImColorPtr(nativePtr); 18 | public static implicit operator ImColor* (ImColorPtr wrappedPtr) => wrappedPtr.NativePtr; 19 | public static implicit operator ImColorPtr(IntPtr nativePtr) => new ImColorPtr(nativePtr); 20 | public ref Vector4 Value => ref Unsafe.AsRef(&NativePtr->Value); 21 | public void Destroy() 22 | { 23 | ImGuiNative.ImColor_destroy(NativePtr); 24 | } 25 | public ImColor HSV(float h, float s, float v) 26 | { 27 | float a = 1.0f; 28 | ImColor ret = ImGuiNative.ImColor_HSV(NativePtr, h, s, v, a); 29 | return ret; 30 | } 31 | public ImColor HSV(float h, float s, float v, float a) 32 | { 33 | ImColor ret = ImGuiNative.ImColor_HSV(NativePtr, h, s, v, a); 34 | return ret; 35 | } 36 | public void SetHSV(float h, float s, float v) 37 | { 38 | float a = 1.0f; 39 | ImGuiNative.ImColor_SetHSV(NativePtr, h, s, v, a); 40 | } 41 | public void SetHSV(float h, float s, float v, float a) 42 | { 43 | ImGuiNative.ImColor_SetHSV(NativePtr, h, s, v, a); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImColor.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1ba4be53b77d78e4f88bdb4044a4d920 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImDrawChannel.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImDrawChannel 9 | { 10 | public ImVector _CmdBuffer; 11 | public ImVector _IdxBuffer; 12 | } 13 | public unsafe partial struct ImDrawChannelPtr 14 | { 15 | public ImDrawChannel* NativePtr { get; } 16 | public ImDrawChannelPtr(ImDrawChannel* nativePtr) => NativePtr = nativePtr; 17 | public ImDrawChannelPtr(IntPtr nativePtr) => NativePtr = (ImDrawChannel*)nativePtr; 18 | public static implicit operator ImDrawChannelPtr(ImDrawChannel* nativePtr) => new ImDrawChannelPtr(nativePtr); 19 | public static implicit operator ImDrawChannel* (ImDrawChannelPtr wrappedPtr) => wrappedPtr.NativePtr; 20 | public static implicit operator ImDrawChannelPtr(IntPtr nativePtr) => new ImDrawChannelPtr(nativePtr); 21 | public ImPtrVector _CmdBuffer => new ImPtrVector(NativePtr->_CmdBuffer, Unsafe.SizeOf()); 22 | public ImVector _IdxBuffer => new ImVector(NativePtr->_IdxBuffer); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImDrawChannel.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 487842f0eac57fb4f99a3e8e32117219 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImDrawCmd.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImDrawCmd 9 | { 10 | public uint ElemCount; 11 | public Vector4 ClipRect; 12 | public IntPtr TextureId; 13 | public uint VtxOffset; 14 | public uint IdxOffset; 15 | public IntPtr UserCallback; 16 | public void* UserCallbackData; 17 | } 18 | public unsafe partial struct ImDrawCmdPtr 19 | { 20 | public ImDrawCmd* NativePtr { get; } 21 | public ImDrawCmdPtr(ImDrawCmd* nativePtr) => NativePtr = nativePtr; 22 | public ImDrawCmdPtr(IntPtr nativePtr) => NativePtr = (ImDrawCmd*)nativePtr; 23 | public static implicit operator ImDrawCmdPtr(ImDrawCmd* nativePtr) => new ImDrawCmdPtr(nativePtr); 24 | public static implicit operator ImDrawCmd* (ImDrawCmdPtr wrappedPtr) => wrappedPtr.NativePtr; 25 | public static implicit operator ImDrawCmdPtr(IntPtr nativePtr) => new ImDrawCmdPtr(nativePtr); 26 | public ref uint ElemCount => ref Unsafe.AsRef(&NativePtr->ElemCount); 27 | public ref Vector4 ClipRect => ref Unsafe.AsRef(&NativePtr->ClipRect); 28 | public ref IntPtr TextureId => ref Unsafe.AsRef(&NativePtr->TextureId); 29 | public ref uint VtxOffset => ref Unsafe.AsRef(&NativePtr->VtxOffset); 30 | public ref uint IdxOffset => ref Unsafe.AsRef(&NativePtr->IdxOffset); 31 | public ref IntPtr UserCallback => ref Unsafe.AsRef(&NativePtr->UserCallback); 32 | public IntPtr UserCallbackData { get => (IntPtr)NativePtr->UserCallbackData; set => NativePtr->UserCallbackData = (void*)value; } 33 | public void Destroy() 34 | { 35 | ImGuiNative.ImDrawCmd_destroy(NativePtr); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImDrawCmd.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fa72e21ef9d18db4aba3f83ed7329607 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImDrawCornerFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImDrawCornerFlags 5 | { 6 | None = 0, 7 | TopLeft = 1 << 0, 8 | TopRight = 1 << 1, 9 | BotLeft = 1 << 2, 10 | BotRight = 1 << 3, 11 | Top = TopLeft | TopRight, 12 | Bot = BotLeft | BotRight, 13 | Left = TopLeft | BotLeft, 14 | Right = TopRight | BotRight, 15 | All = 0xF, 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImDrawCornerFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f311574d157d9dc4cbf71b8a0e81919a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImDrawData.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImDrawData 9 | { 10 | public byte Valid; 11 | public ImDrawList** CmdLists; 12 | public int CmdListsCount; 13 | public int TotalIdxCount; 14 | public int TotalVtxCount; 15 | public Vector2 DisplayPos; 16 | public Vector2 DisplaySize; 17 | public Vector2 FramebufferScale; 18 | } 19 | public unsafe partial struct ImDrawDataPtr 20 | { 21 | public ImDrawData* NativePtr { get; } 22 | public ImDrawDataPtr(ImDrawData* nativePtr) => NativePtr = nativePtr; 23 | public ImDrawDataPtr(IntPtr nativePtr) => NativePtr = (ImDrawData*)nativePtr; 24 | public static implicit operator ImDrawDataPtr(ImDrawData* nativePtr) => new ImDrawDataPtr(nativePtr); 25 | public static implicit operator ImDrawData* (ImDrawDataPtr wrappedPtr) => wrappedPtr.NativePtr; 26 | public static implicit operator ImDrawDataPtr(IntPtr nativePtr) => new ImDrawDataPtr(nativePtr); 27 | public ref bool Valid => ref Unsafe.AsRef(&NativePtr->Valid); 28 | public IntPtr CmdLists { get => (IntPtr)NativePtr->CmdLists; set => NativePtr->CmdLists = (ImDrawList**)value; } 29 | public ref int CmdListsCount => ref Unsafe.AsRef(&NativePtr->CmdListsCount); 30 | public ref int TotalIdxCount => ref Unsafe.AsRef(&NativePtr->TotalIdxCount); 31 | public ref int TotalVtxCount => ref Unsafe.AsRef(&NativePtr->TotalVtxCount); 32 | public ref Vector2 DisplayPos => ref Unsafe.AsRef(&NativePtr->DisplayPos); 33 | public ref Vector2 DisplaySize => ref Unsafe.AsRef(&NativePtr->DisplaySize); 34 | public ref Vector2 FramebufferScale => ref Unsafe.AsRef(&NativePtr->FramebufferScale); 35 | public void Clear() 36 | { 37 | ImGuiNative.ImDrawData_Clear(NativePtr); 38 | } 39 | public void DeIndexAllBuffers() 40 | { 41 | ImGuiNative.ImDrawData_DeIndexAllBuffers(NativePtr); 42 | } 43 | public void Destroy() 44 | { 45 | ImGuiNative.ImDrawData_destroy(NativePtr); 46 | } 47 | public void ScaleClipRects(Vector2 fb_scale) 48 | { 49 | ImGuiNative.ImDrawData_ScaleClipRects(NativePtr, fb_scale); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImDrawData.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e812740d24991a74f816459fa2c8e050 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImDrawList.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 666e08073e3082749949579527622155 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImDrawListFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImDrawListFlags 5 | { 6 | None = 0, 7 | AntiAliasedLines = 1 << 0, 8 | AntiAliasedFill = 1 << 1, 9 | AllowVtxOffset = 1 << 2, 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImDrawListFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ed548b24bff21e24699feb426097d1b2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImDrawListSplitter.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImDrawListSplitter 9 | { 10 | public int _Current; 11 | public int _Count; 12 | public ImVector _Channels; 13 | } 14 | public unsafe partial struct ImDrawListSplitterPtr 15 | { 16 | public ImDrawListSplitter* NativePtr { get; } 17 | public ImDrawListSplitterPtr(ImDrawListSplitter* nativePtr) => NativePtr = nativePtr; 18 | public ImDrawListSplitterPtr(IntPtr nativePtr) => NativePtr = (ImDrawListSplitter*)nativePtr; 19 | public static implicit operator ImDrawListSplitterPtr(ImDrawListSplitter* nativePtr) => new ImDrawListSplitterPtr(nativePtr); 20 | public static implicit operator ImDrawListSplitter* (ImDrawListSplitterPtr wrappedPtr) => wrappedPtr.NativePtr; 21 | public static implicit operator ImDrawListSplitterPtr(IntPtr nativePtr) => new ImDrawListSplitterPtr(nativePtr); 22 | public ref int _Current => ref Unsafe.AsRef(&NativePtr->_Current); 23 | public ref int _Count => ref Unsafe.AsRef(&NativePtr->_Count); 24 | public ImPtrVector _Channels => new ImPtrVector(NativePtr->_Channels, Unsafe.SizeOf()); 25 | public void Clear() 26 | { 27 | ImGuiNative.ImDrawListSplitter_Clear(NativePtr); 28 | } 29 | public void ClearFreeMemory() 30 | { 31 | ImGuiNative.ImDrawListSplitter_ClearFreeMemory(NativePtr); 32 | } 33 | public void Destroy() 34 | { 35 | ImGuiNative.ImDrawListSplitter_destroy(NativePtr); 36 | } 37 | public void Merge(ImDrawListPtr draw_list) 38 | { 39 | ImDrawList* native_draw_list = draw_list.NativePtr; 40 | ImGuiNative.ImDrawListSplitter_Merge(NativePtr, native_draw_list); 41 | } 42 | public void SetCurrentChannel(ImDrawListPtr draw_list, int channel_idx) 43 | { 44 | ImDrawList* native_draw_list = draw_list.NativePtr; 45 | ImGuiNative.ImDrawListSplitter_SetCurrentChannel(NativePtr, native_draw_list, channel_idx); 46 | } 47 | public void Split(ImDrawListPtr draw_list, int count) 48 | { 49 | ImDrawList* native_draw_list = draw_list.NativePtr; 50 | ImGuiNative.ImDrawListSplitter_Split(NativePtr, native_draw_list, count); 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImDrawListSplitter.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e5cd0bcae32d4e34b915a2a92dfc8b1e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImDrawVert.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImDrawVert 9 | { 10 | public Vector2 pos; 11 | public Vector2 uv; 12 | public uint col; 13 | } 14 | public unsafe partial struct ImDrawVertPtr 15 | { 16 | public ImDrawVert* NativePtr { get; } 17 | public ImDrawVertPtr(ImDrawVert* nativePtr) => NativePtr = nativePtr; 18 | public ImDrawVertPtr(IntPtr nativePtr) => NativePtr = (ImDrawVert*)nativePtr; 19 | public static implicit operator ImDrawVertPtr(ImDrawVert* nativePtr) => new ImDrawVertPtr(nativePtr); 20 | public static implicit operator ImDrawVert* (ImDrawVertPtr wrappedPtr) => wrappedPtr.NativePtr; 21 | public static implicit operator ImDrawVertPtr(IntPtr nativePtr) => new ImDrawVertPtr(nativePtr); 22 | public ref Vector2 pos => ref Unsafe.AsRef(&NativePtr->pos); 23 | public ref Vector2 uv => ref Unsafe.AsRef(&NativePtr->uv); 24 | public ref uint col => ref Unsafe.AsRef(&NativePtr->col); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImDrawVert.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cc20d0fa93aeee94990098261ffe1a47 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImFont.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImFont 9 | { 10 | public ImVector IndexAdvanceX; 11 | public float FallbackAdvanceX; 12 | public float FontSize; 13 | public ImVector IndexLookup; 14 | public ImVector Glyphs; 15 | public ImFontGlyph* FallbackGlyph; 16 | public Vector2 DisplayOffset; 17 | public ImFontAtlas* ContainerAtlas; 18 | public ImFontConfig* ConfigData; 19 | public short ConfigDataCount; 20 | public ushort FallbackChar; 21 | public ushort EllipsisChar; 22 | public byte DirtyLookupTables; 23 | public float Scale; 24 | public float Ascent; 25 | public float Descent; 26 | public int MetricsTotalSurface; 27 | } 28 | public unsafe partial struct ImFontPtr 29 | { 30 | public ImFont* NativePtr { get; } 31 | public ImFontPtr(ImFont* nativePtr) => NativePtr = nativePtr; 32 | public ImFontPtr(IntPtr nativePtr) => NativePtr = (ImFont*)nativePtr; 33 | public static implicit operator ImFontPtr(ImFont* nativePtr) => new ImFontPtr(nativePtr); 34 | public static implicit operator ImFont* (ImFontPtr wrappedPtr) => wrappedPtr.NativePtr; 35 | public static implicit operator ImFontPtr(IntPtr nativePtr) => new ImFontPtr(nativePtr); 36 | public ImVector IndexAdvanceX => new ImVector(NativePtr->IndexAdvanceX); 37 | public ref float FallbackAdvanceX => ref Unsafe.AsRef(&NativePtr->FallbackAdvanceX); 38 | public ref float FontSize => ref Unsafe.AsRef(&NativePtr->FontSize); 39 | public ImVector IndexLookup => new ImVector(NativePtr->IndexLookup); 40 | public ImPtrVector Glyphs => new ImPtrVector(NativePtr->Glyphs, Unsafe.SizeOf()); 41 | public ImFontGlyphPtr FallbackGlyph => new ImFontGlyphPtr(NativePtr->FallbackGlyph); 42 | public ref Vector2 DisplayOffset => ref Unsafe.AsRef(&NativePtr->DisplayOffset); 43 | public ImFontAtlasPtr ContainerAtlas => new ImFontAtlasPtr(NativePtr->ContainerAtlas); 44 | public ImFontConfigPtr ConfigData => new ImFontConfigPtr(NativePtr->ConfigData); 45 | public ref short ConfigDataCount => ref Unsafe.AsRef(&NativePtr->ConfigDataCount); 46 | public ref ushort FallbackChar => ref Unsafe.AsRef(&NativePtr->FallbackChar); 47 | public ref ushort EllipsisChar => ref Unsafe.AsRef(&NativePtr->EllipsisChar); 48 | public ref bool DirtyLookupTables => ref Unsafe.AsRef(&NativePtr->DirtyLookupTables); 49 | public ref float Scale => ref Unsafe.AsRef(&NativePtr->Scale); 50 | public ref float Ascent => ref Unsafe.AsRef(&NativePtr->Ascent); 51 | public ref float Descent => ref Unsafe.AsRef(&NativePtr->Descent); 52 | public ref int MetricsTotalSurface => ref Unsafe.AsRef(&NativePtr->MetricsTotalSurface); 53 | public void AddGlyph(ushort c, float x0, float y0, float x1, float y1, float u0, float v0, float u1, float v1, float advance_x) 54 | { 55 | ImGuiNative.ImFont_AddGlyph(NativePtr, c, x0, y0, x1, y1, u0, v0, u1, v1, advance_x); 56 | } 57 | public void AddRemapChar(ushort dst, ushort src) 58 | { 59 | byte overwrite_dst = 1; 60 | ImGuiNative.ImFont_AddRemapChar(NativePtr, dst, src, overwrite_dst); 61 | } 62 | public void AddRemapChar(ushort dst, ushort src, bool overwrite_dst) 63 | { 64 | byte native_overwrite_dst = overwrite_dst ? (byte)1 : (byte)0; 65 | ImGuiNative.ImFont_AddRemapChar(NativePtr, dst, src, native_overwrite_dst); 66 | } 67 | public void BuildLookupTable() 68 | { 69 | ImGuiNative.ImFont_BuildLookupTable(NativePtr); 70 | } 71 | public void ClearOutputData() 72 | { 73 | ImGuiNative.ImFont_ClearOutputData(NativePtr); 74 | } 75 | public void Destroy() 76 | { 77 | ImGuiNative.ImFont_destroy(NativePtr); 78 | } 79 | public ImFontGlyphPtr FindGlyph(ushort c) 80 | { 81 | ImFontGlyph* ret = ImGuiNative.ImFont_FindGlyph(NativePtr, c); 82 | return new ImFontGlyphPtr(ret); 83 | } 84 | public ImFontGlyphPtr FindGlyphNoFallback(ushort c) 85 | { 86 | ImFontGlyph* ret = ImGuiNative.ImFont_FindGlyphNoFallback(NativePtr, c); 87 | return new ImFontGlyphPtr(ret); 88 | } 89 | public float GetCharAdvance(ushort c) 90 | { 91 | float ret = ImGuiNative.ImFont_GetCharAdvance(NativePtr, c); 92 | return ret; 93 | } 94 | public string GetDebugName() 95 | { 96 | byte* ret = ImGuiNative.ImFont_GetDebugName(NativePtr); 97 | return Util.StringFromPtr(ret); 98 | } 99 | public void GrowIndex(int new_size) 100 | { 101 | ImGuiNative.ImFont_GrowIndex(NativePtr, new_size); 102 | } 103 | public bool IsLoaded() 104 | { 105 | byte ret = ImGuiNative.ImFont_IsLoaded(NativePtr); 106 | return ret != 0; 107 | } 108 | public void RenderChar(ImDrawListPtr draw_list, float size, Vector2 pos, uint col, ushort c) 109 | { 110 | ImDrawList* native_draw_list = draw_list.NativePtr; 111 | ImGuiNative.ImFont_RenderChar(NativePtr, native_draw_list, size, pos, col, c); 112 | } 113 | public void SetFallbackChar(ushort c) 114 | { 115 | ImGuiNative.ImFont_SetFallbackChar(NativePtr, c); 116 | } 117 | } 118 | } 119 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImFont.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bb02f751142f8a4fbb33622733ea303 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImFontAtlas.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 35315038b741ed54fb7c56f4e0585a9e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImFontAtlasCustomRect.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImFontAtlasCustomRect 9 | { 10 | public uint ID; 11 | public ushort Width; 12 | public ushort Height; 13 | public ushort X; 14 | public ushort Y; 15 | public float GlyphAdvanceX; 16 | public Vector2 GlyphOffset; 17 | public ImFont* Font; 18 | } 19 | public unsafe partial struct ImFontAtlasCustomRectPtr 20 | { 21 | public ImFontAtlasCustomRect* NativePtr { get; } 22 | public ImFontAtlasCustomRectPtr(ImFontAtlasCustomRect* nativePtr) => NativePtr = nativePtr; 23 | public ImFontAtlasCustomRectPtr(IntPtr nativePtr) => NativePtr = (ImFontAtlasCustomRect*)nativePtr; 24 | public static implicit operator ImFontAtlasCustomRectPtr(ImFontAtlasCustomRect* nativePtr) => new ImFontAtlasCustomRectPtr(nativePtr); 25 | public static implicit operator ImFontAtlasCustomRect* (ImFontAtlasCustomRectPtr wrappedPtr) => wrappedPtr.NativePtr; 26 | public static implicit operator ImFontAtlasCustomRectPtr(IntPtr nativePtr) => new ImFontAtlasCustomRectPtr(nativePtr); 27 | public ref uint ID => ref Unsafe.AsRef(&NativePtr->ID); 28 | public ref ushort Width => ref Unsafe.AsRef(&NativePtr->Width); 29 | public ref ushort Height => ref Unsafe.AsRef(&NativePtr->Height); 30 | public ref ushort X => ref Unsafe.AsRef(&NativePtr->X); 31 | public ref ushort Y => ref Unsafe.AsRef(&NativePtr->Y); 32 | public ref float GlyphAdvanceX => ref Unsafe.AsRef(&NativePtr->GlyphAdvanceX); 33 | public ref Vector2 GlyphOffset => ref Unsafe.AsRef(&NativePtr->GlyphOffset); 34 | public ImFontPtr Font => new ImFontPtr(NativePtr->Font); 35 | public void Destroy() 36 | { 37 | ImGuiNative.ImFontAtlasCustomRect_destroy(NativePtr); 38 | } 39 | public bool IsPacked() 40 | { 41 | byte ret = ImGuiNative.ImFontAtlasCustomRect_IsPacked(NativePtr); 42 | return ret != 0; 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImFontAtlasCustomRect.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c8735840735bc44b8b411dac33c71c2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImFontAtlasFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImFontAtlasFlags 5 | { 6 | None = 0, 7 | NoPowerOfTwoHeight = 1 << 0, 8 | NoMouseCursors = 1 << 1, 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImFontAtlasFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6a7d6544e41828142b164d5e6b64375a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImFontConfig.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImFontConfig 9 | { 10 | public void* FontData; 11 | public int FontDataSize; 12 | public byte FontDataOwnedByAtlas; 13 | public int FontNo; 14 | public float SizePixels; 15 | public int OversampleH; 16 | public int OversampleV; 17 | public byte PixelSnapH; 18 | public Vector2 GlyphExtraSpacing; 19 | public Vector2 GlyphOffset; 20 | public ushort* GlyphRanges; 21 | public float GlyphMinAdvanceX; 22 | public float GlyphMaxAdvanceX; 23 | public byte MergeMode; 24 | public uint RasterizerFlags; 25 | public float RasterizerMultiply; 26 | public ushort EllipsisChar; 27 | public fixed byte Name[40]; 28 | public ImFont* DstFont; 29 | } 30 | public unsafe partial struct ImFontConfigPtr 31 | { 32 | public ImFontConfig* NativePtr { get; } 33 | public ImFontConfigPtr(ImFontConfig* nativePtr) => NativePtr = nativePtr; 34 | public ImFontConfigPtr(IntPtr nativePtr) => NativePtr = (ImFontConfig*)nativePtr; 35 | public static implicit operator ImFontConfigPtr(ImFontConfig* nativePtr) => new ImFontConfigPtr(nativePtr); 36 | public static implicit operator ImFontConfig* (ImFontConfigPtr wrappedPtr) => wrappedPtr.NativePtr; 37 | public static implicit operator ImFontConfigPtr(IntPtr nativePtr) => new ImFontConfigPtr(nativePtr); 38 | public IntPtr FontData { get => (IntPtr)NativePtr->FontData; set => NativePtr->FontData = (void*)value; } 39 | public ref int FontDataSize => ref Unsafe.AsRef(&NativePtr->FontDataSize); 40 | public ref bool FontDataOwnedByAtlas => ref Unsafe.AsRef(&NativePtr->FontDataOwnedByAtlas); 41 | public ref int FontNo => ref Unsafe.AsRef(&NativePtr->FontNo); 42 | public ref float SizePixels => ref Unsafe.AsRef(&NativePtr->SizePixels); 43 | public ref int OversampleH => ref Unsafe.AsRef(&NativePtr->OversampleH); 44 | public ref int OversampleV => ref Unsafe.AsRef(&NativePtr->OversampleV); 45 | public ref bool PixelSnapH => ref Unsafe.AsRef(&NativePtr->PixelSnapH); 46 | public ref Vector2 GlyphExtraSpacing => ref Unsafe.AsRef(&NativePtr->GlyphExtraSpacing); 47 | public ref Vector2 GlyphOffset => ref Unsafe.AsRef(&NativePtr->GlyphOffset); 48 | public IntPtr GlyphRanges { get => (IntPtr)NativePtr->GlyphRanges; set => NativePtr->GlyphRanges = (ushort*)value; } 49 | public ref float GlyphMinAdvanceX => ref Unsafe.AsRef(&NativePtr->GlyphMinAdvanceX); 50 | public ref float GlyphMaxAdvanceX => ref Unsafe.AsRef(&NativePtr->GlyphMaxAdvanceX); 51 | public ref bool MergeMode => ref Unsafe.AsRef(&NativePtr->MergeMode); 52 | public ref uint RasterizerFlags => ref Unsafe.AsRef(&NativePtr->RasterizerFlags); 53 | public ref float RasterizerMultiply => ref Unsafe.AsRef(&NativePtr->RasterizerMultiply); 54 | public ref ushort EllipsisChar => ref Unsafe.AsRef(&NativePtr->EllipsisChar); 55 | public RangeAccessor Name => new RangeAccessor(NativePtr->Name, 40); 56 | public ImFontPtr DstFont => new ImFontPtr(NativePtr->DstFont); 57 | public void Destroy() 58 | { 59 | ImGuiNative.ImFontConfig_destroy(NativePtr); 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImFontConfig.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8e3e838ecea6634b9c539c85159bab1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImFontGlyph.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImFontGlyph 9 | { 10 | public ushort Codepoint; 11 | public float AdvanceX; 12 | public float X0; 13 | public float Y0; 14 | public float X1; 15 | public float Y1; 16 | public float U0; 17 | public float V0; 18 | public float U1; 19 | public float V1; 20 | } 21 | public unsafe partial struct ImFontGlyphPtr 22 | { 23 | public ImFontGlyph* NativePtr { get; } 24 | public ImFontGlyphPtr(ImFontGlyph* nativePtr) => NativePtr = nativePtr; 25 | public ImFontGlyphPtr(IntPtr nativePtr) => NativePtr = (ImFontGlyph*)nativePtr; 26 | public static implicit operator ImFontGlyphPtr(ImFontGlyph* nativePtr) => new ImFontGlyphPtr(nativePtr); 27 | public static implicit operator ImFontGlyph* (ImFontGlyphPtr wrappedPtr) => wrappedPtr.NativePtr; 28 | public static implicit operator ImFontGlyphPtr(IntPtr nativePtr) => new ImFontGlyphPtr(nativePtr); 29 | public ref ushort Codepoint => ref Unsafe.AsRef(&NativePtr->Codepoint); 30 | public ref float AdvanceX => ref Unsafe.AsRef(&NativePtr->AdvanceX); 31 | public ref float X0 => ref Unsafe.AsRef(&NativePtr->X0); 32 | public ref float Y0 => ref Unsafe.AsRef(&NativePtr->Y0); 33 | public ref float X1 => ref Unsafe.AsRef(&NativePtr->X1); 34 | public ref float Y1 => ref Unsafe.AsRef(&NativePtr->Y1); 35 | public ref float U0 => ref Unsafe.AsRef(&NativePtr->U0); 36 | public ref float V0 => ref Unsafe.AsRef(&NativePtr->V0); 37 | public ref float U1 => ref Unsafe.AsRef(&NativePtr->U1); 38 | public ref float V1 => ref Unsafe.AsRef(&NativePtr->V1); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImFontGlyph.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 57e3ef6164c213442b6680b26eae11cf 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImFontGlyphRangesBuilder.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImFontGlyphRangesBuilder 9 | { 10 | public ImVector UsedChars; 11 | } 12 | public unsafe partial struct ImFontGlyphRangesBuilderPtr 13 | { 14 | public ImFontGlyphRangesBuilder* NativePtr { get; } 15 | public ImFontGlyphRangesBuilderPtr(ImFontGlyphRangesBuilder* nativePtr) => NativePtr = nativePtr; 16 | public ImFontGlyphRangesBuilderPtr(IntPtr nativePtr) => NativePtr = (ImFontGlyphRangesBuilder*)nativePtr; 17 | public static implicit operator ImFontGlyphRangesBuilderPtr(ImFontGlyphRangesBuilder* nativePtr) => new ImFontGlyphRangesBuilderPtr(nativePtr); 18 | public static implicit operator ImFontGlyphRangesBuilder* (ImFontGlyphRangesBuilderPtr wrappedPtr) => wrappedPtr.NativePtr; 19 | public static implicit operator ImFontGlyphRangesBuilderPtr(IntPtr nativePtr) => new ImFontGlyphRangesBuilderPtr(nativePtr); 20 | public ImVector UsedChars => new ImVector(NativePtr->UsedChars); 21 | public void AddChar(ushort c) 22 | { 23 | ImGuiNative.ImFontGlyphRangesBuilder_AddChar(NativePtr, c); 24 | } 25 | public void AddRanges(IntPtr ranges) 26 | { 27 | ushort* native_ranges = (ushort*)ranges.ToPointer(); 28 | ImGuiNative.ImFontGlyphRangesBuilder_AddRanges(NativePtr, native_ranges); 29 | } 30 | public void AddText(string text) 31 | { 32 | byte* native_text; 33 | int text_byteCount = 0; 34 | if (text != null) 35 | { 36 | text_byteCount = Encoding.UTF8.GetByteCount(text); 37 | if (text_byteCount > Util.StackAllocationSizeLimit) 38 | { 39 | native_text = Util.Allocate(text_byteCount + 1); 40 | } 41 | else 42 | { 43 | byte* native_text_stackBytes = stackalloc byte[text_byteCount + 1]; 44 | native_text = native_text_stackBytes; 45 | } 46 | int native_text_offset = Util.GetUtf8(text, native_text, text_byteCount); 47 | native_text[native_text_offset] = 0; 48 | } 49 | else { native_text = null; } 50 | byte* native_text_end = null; 51 | ImGuiNative.ImFontGlyphRangesBuilder_AddText(NativePtr, native_text, native_text_end); 52 | if (text_byteCount > Util.StackAllocationSizeLimit) 53 | { 54 | Util.Free(native_text); 55 | } 56 | } 57 | public void BuildRanges(out ImVector out_ranges) 58 | { 59 | fixed (ImVector* native_out_ranges = &out_ranges) 60 | { 61 | ImGuiNative.ImFontGlyphRangesBuilder_BuildRanges(NativePtr, native_out_ranges); 62 | } 63 | } 64 | public void Clear() 65 | { 66 | ImGuiNative.ImFontGlyphRangesBuilder_Clear(NativePtr); 67 | } 68 | public void Destroy() 69 | { 70 | ImGuiNative.ImFontGlyphRangesBuilder_destroy(NativePtr); 71 | } 72 | public bool GetBit(int n) 73 | { 74 | byte ret = ImGuiNative.ImFontGlyphRangesBuilder_GetBit(NativePtr, n); 75 | return ret != 0; 76 | } 77 | public void SetBit(int n) 78 | { 79 | ImGuiNative.ImFontGlyphRangesBuilder_SetBit(NativePtr, n); 80 | } 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImFontGlyphRangesBuilder.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 13efd35d6f7fd564cbc437731641d08c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGui.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79abc87a87edb7043b53d9768fa90c78 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiBackendFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiBackendFlags 5 | { 6 | None = 0, 7 | HasGamepad = 1 << 0, 8 | HasMouseCursors = 1 << 1, 9 | HasSetMousePos = 1 << 2, 10 | RendererHasVtxOffset = 1 << 3, 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiBackendFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98d1a07474fe3d64da006bbc0f80def4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiCol.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiCol 4 | { 5 | Text = 0, 6 | TextDisabled = 1, 7 | WindowBg = 2, 8 | ChildBg = 3, 9 | PopupBg = 4, 10 | Border = 5, 11 | BorderShadow = 6, 12 | FrameBg = 7, 13 | FrameBgHovered = 8, 14 | FrameBgActive = 9, 15 | TitleBg = 10, 16 | TitleBgActive = 11, 17 | TitleBgCollapsed = 12, 18 | MenuBarBg = 13, 19 | ScrollbarBg = 14, 20 | ScrollbarGrab = 15, 21 | ScrollbarGrabHovered = 16, 22 | ScrollbarGrabActive = 17, 23 | CheckMark = 18, 24 | SliderGrab = 19, 25 | SliderGrabActive = 20, 26 | Button = 21, 27 | ButtonHovered = 22, 28 | ButtonActive = 23, 29 | Header = 24, 30 | HeaderHovered = 25, 31 | HeaderActive = 26, 32 | Separator = 27, 33 | SeparatorHovered = 28, 34 | SeparatorActive = 29, 35 | ResizeGrip = 30, 36 | ResizeGripHovered = 31, 37 | ResizeGripActive = 32, 38 | Tab = 33, 39 | TabHovered = 34, 40 | TabActive = 35, 41 | TabUnfocused = 36, 42 | TabUnfocusedActive = 37, 43 | PlotLines = 38, 44 | PlotLinesHovered = 39, 45 | PlotHistogram = 40, 46 | PlotHistogramHovered = 41, 47 | TextSelectedBg = 42, 48 | DragDropTarget = 43, 49 | NavHighlight = 44, 50 | NavWindowingHighlight = 45, 51 | NavWindowingDimBg = 46, 52 | ModalWindowDimBg = 47, 53 | COUNT = 48, 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiCol.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e3555fe5e822a71419af6c724b111f60 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiColorEditFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiColorEditFlags 5 | { 6 | None = 0, 7 | NoAlpha = 1 << 1, 8 | NoPicker = 1 << 2, 9 | NoOptions = 1 << 3, 10 | NoSmallPreview = 1 << 4, 11 | NoInputs = 1 << 5, 12 | NoTooltip = 1 << 6, 13 | NoLabel = 1 << 7, 14 | NoSidePreview = 1 << 8, 15 | NoDragDrop = 1 << 9, 16 | AlphaBar = 1 << 16, 17 | AlphaPreview = 1 << 17, 18 | AlphaPreviewHalf = 1 << 18, 19 | HDR = 1 << 19, 20 | DisplayRGB = 1 << 20, 21 | DisplayHSV = 1 << 21, 22 | DisplayHex = 1 << 22, 23 | Uint8 = 1 << 23, 24 | Float = 1 << 24, 25 | PickerHueBar = 1 << 25, 26 | PickerHueWheel = 1 << 26, 27 | InputRGB = 1 << 27, 28 | InputHSV = 1 << 28, 29 | _OptionsDefault = Uint8|DisplayRGB|InputRGB|PickerHueBar, 30 | _DisplayMask = DisplayRGB|DisplayHSV|DisplayHex, 31 | _DataTypeMask = Uint8|Float, 32 | _PickerMask = PickerHueWheel|PickerHueBar, 33 | _InputMask = InputRGB|InputHSV, 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiColorEditFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 06a610101c01049469e8ad2171da72e5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiComboFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiComboFlags 5 | { 6 | None = 0, 7 | PopupAlignLeft = 1 << 0, 8 | HeightSmall = 1 << 1, 9 | HeightRegular = 1 << 2, 10 | HeightLarge = 1 << 3, 11 | HeightLargest = 1 << 4, 12 | NoArrowButton = 1 << 5, 13 | NoPreview = 1 << 6, 14 | HeightMask = HeightSmall | HeightRegular | HeightLarge | HeightLargest, 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiComboFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e9b39421d439d9c40937cad3697d141f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiCond.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiCond 4 | { 5 | Always = 1 << 0, 6 | Once = 1 << 1, 7 | FirstUseEver = 1 << 2, 8 | Appearing = 1 << 3, 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiCond.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e9ad214bf9d8a14ba55ef72184d64dd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiConfigFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiConfigFlags 5 | { 6 | None = 0, 7 | NavEnableKeyboard = 1 << 0, 8 | NavEnableGamepad = 1 << 1, 9 | NavEnableSetMousePos = 1 << 2, 10 | NavNoCaptureKeyboard = 1 << 3, 11 | NoMouse = 1 << 4, 12 | NoMouseCursorChange = 1 << 5, 13 | IsSRGB = 1 << 20, 14 | IsTouchScreen = 1 << 21, 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiConfigFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a560ebe3353a84842bd8a06637c129df 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiDataType.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiDataType 4 | { 5 | S8 = 0, 6 | U8 = 1, 7 | S16 = 2, 8 | U16 = 3, 9 | S32 = 4, 10 | U32 = 5, 11 | S64 = 6, 12 | U64 = 7, 13 | Float = 8, 14 | Double = 9, 15 | COUNT = 10, 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiDataType.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b57f09e2bdc9c2b4a9923133c47cc062 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiDir.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiDir 4 | { 5 | None = -1, 6 | Left = 0, 7 | Right = 1, 8 | Up = 2, 9 | Down = 3, 10 | COUNT = 4, 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiDir.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e94e3df3f28ac2a4d9b17f7b47fc3bd1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiDragDropFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiDragDropFlags 5 | { 6 | None = 0, 7 | SourceNoPreviewTooltip = 1 << 0, 8 | SourceNoDisableHover = 1 << 1, 9 | SourceNoHoldToOpenOthers = 1 << 2, 10 | SourceAllowNullID = 1 << 3, 11 | SourceExtern = 1 << 4, 12 | SourceAutoExpirePayload = 1 << 5, 13 | AcceptBeforeDelivery = 1 << 10, 14 | AcceptNoDrawDefaultRect = 1 << 11, 15 | AcceptNoPreviewTooltip = 1 << 12, 16 | AcceptPeekOnly = AcceptBeforeDelivery | AcceptNoDrawDefaultRect, 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiDragDropFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c25233c4ea496044bac0c255b884df2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiFocusedFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiFocusedFlags 5 | { 6 | None = 0, 7 | ChildWindows = 1 << 0, 8 | RootWindow = 1 << 1, 9 | AnyWindow = 1 << 2, 10 | RootAndChildWindows = RootWindow | ChildWindows, 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiFocusedFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8fed59ff9d25fb2498c6df450c1518d3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiHoveredFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiHoveredFlags 5 | { 6 | None = 0, 7 | ChildWindows = 1 << 0, 8 | RootWindow = 1 << 1, 9 | AnyWindow = 1 << 2, 10 | AllowWhenBlockedByPopup = 1 << 3, 11 | AllowWhenBlockedByActiveItem = 1 << 5, 12 | AllowWhenOverlapped = 1 << 6, 13 | AllowWhenDisabled = 1 << 7, 14 | RectOnly = AllowWhenBlockedByPopup | AllowWhenBlockedByActiveItem | AllowWhenOverlapped, 15 | RootAndChildWindows = RootWindow | ChildWindows, 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiHoveredFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58a5ddfce6ebbfc4c90baf44d8957a3c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiIO.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 807f69f06d68bf2499a6dfa49ba80b35 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiInputTextCallbackData.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImGuiInputTextCallbackData 9 | { 10 | public ImGuiInputTextFlags EventFlag; 11 | public ImGuiInputTextFlags Flags; 12 | public void* UserData; 13 | public ushort EventChar; 14 | public ImGuiKey EventKey; 15 | public byte* Buf; 16 | public int BufTextLen; 17 | public int BufSize; 18 | public byte BufDirty; 19 | public int CursorPos; 20 | public int SelectionStart; 21 | public int SelectionEnd; 22 | } 23 | public unsafe partial struct ImGuiInputTextCallbackDataPtr 24 | { 25 | public ImGuiInputTextCallbackData* NativePtr { get; } 26 | public ImGuiInputTextCallbackDataPtr(ImGuiInputTextCallbackData* nativePtr) => NativePtr = nativePtr; 27 | public ImGuiInputTextCallbackDataPtr(IntPtr nativePtr) => NativePtr = (ImGuiInputTextCallbackData*)nativePtr; 28 | public static implicit operator ImGuiInputTextCallbackDataPtr(ImGuiInputTextCallbackData* nativePtr) => new ImGuiInputTextCallbackDataPtr(nativePtr); 29 | public static implicit operator ImGuiInputTextCallbackData* (ImGuiInputTextCallbackDataPtr wrappedPtr) => wrappedPtr.NativePtr; 30 | public static implicit operator ImGuiInputTextCallbackDataPtr(IntPtr nativePtr) => new ImGuiInputTextCallbackDataPtr(nativePtr); 31 | public ref ImGuiInputTextFlags EventFlag => ref Unsafe.AsRef(&NativePtr->EventFlag); 32 | public ref ImGuiInputTextFlags Flags => ref Unsafe.AsRef(&NativePtr->Flags); 33 | public IntPtr UserData { get => (IntPtr)NativePtr->UserData; set => NativePtr->UserData = (void*)value; } 34 | public ref ushort EventChar => ref Unsafe.AsRef(&NativePtr->EventChar); 35 | public ref ImGuiKey EventKey => ref Unsafe.AsRef(&NativePtr->EventKey); 36 | public IntPtr Buf { get => (IntPtr)NativePtr->Buf; set => NativePtr->Buf = (byte*)value; } 37 | public ref int BufTextLen => ref Unsafe.AsRef(&NativePtr->BufTextLen); 38 | public ref int BufSize => ref Unsafe.AsRef(&NativePtr->BufSize); 39 | public ref bool BufDirty => ref Unsafe.AsRef(&NativePtr->BufDirty); 40 | public ref int CursorPos => ref Unsafe.AsRef(&NativePtr->CursorPos); 41 | public ref int SelectionStart => ref Unsafe.AsRef(&NativePtr->SelectionStart); 42 | public ref int SelectionEnd => ref Unsafe.AsRef(&NativePtr->SelectionEnd); 43 | public void DeleteChars(int pos, int bytes_count) 44 | { 45 | ImGuiNative.ImGuiInputTextCallbackData_DeleteChars(NativePtr, pos, bytes_count); 46 | } 47 | public void Destroy() 48 | { 49 | ImGuiNative.ImGuiInputTextCallbackData_destroy(NativePtr); 50 | } 51 | public bool HasSelection() 52 | { 53 | byte ret = ImGuiNative.ImGuiInputTextCallbackData_HasSelection(NativePtr); 54 | return ret != 0; 55 | } 56 | public void InsertChars(int pos, string text) 57 | { 58 | byte* native_text; 59 | int text_byteCount = 0; 60 | if (text != null) 61 | { 62 | text_byteCount = Encoding.UTF8.GetByteCount(text); 63 | if (text_byteCount > Util.StackAllocationSizeLimit) 64 | { 65 | native_text = Util.Allocate(text_byteCount + 1); 66 | } 67 | else 68 | { 69 | byte* native_text_stackBytes = stackalloc byte[text_byteCount + 1]; 70 | native_text = native_text_stackBytes; 71 | } 72 | int native_text_offset = Util.GetUtf8(text, native_text, text_byteCount); 73 | native_text[native_text_offset] = 0; 74 | } 75 | else { native_text = null; } 76 | byte* native_text_end = null; 77 | ImGuiNative.ImGuiInputTextCallbackData_InsertChars(NativePtr, pos, native_text, native_text_end); 78 | if (text_byteCount > Util.StackAllocationSizeLimit) 79 | { 80 | Util.Free(native_text); 81 | } 82 | } 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiInputTextCallbackData.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d19de29720862d4cad77d15d4286c9b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiInputTextFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiInputTextFlags 5 | { 6 | None = 0, 7 | CharsDecimal = 1 << 0, 8 | CharsHexadecimal = 1 << 1, 9 | CharsUppercase = 1 << 2, 10 | CharsNoBlank = 1 << 3, 11 | AutoSelectAll = 1 << 4, 12 | EnterReturnsTrue = 1 << 5, 13 | CallbackCompletion = 1 << 6, 14 | CallbackHistory = 1 << 7, 15 | CallbackAlways = 1 << 8, 16 | CallbackCharFilter = 1 << 9, 17 | AllowTabInput = 1 << 10, 18 | CtrlEnterForNewLine = 1 << 11, 19 | NoHorizontalScroll = 1 << 12, 20 | AlwaysInsertMode = 1 << 13, 21 | ReadOnly = 1 << 14, 22 | Password = 1 << 15, 23 | NoUndoRedo = 1 << 16, 24 | CharsScientific = 1 << 17, 25 | CallbackResize = 1 << 18, 26 | Multiline = 1 << 20, 27 | NoMarkEdited = 1 << 21, 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiInputTextFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8be71a0d19242b84d908d3d31aa1376d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiKey.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiKey 4 | { 5 | Tab = 0, 6 | LeftArrow = 1, 7 | RightArrow = 2, 8 | UpArrow = 3, 9 | DownArrow = 4, 10 | PageUp = 5, 11 | PageDown = 6, 12 | Home = 7, 13 | End = 8, 14 | Insert = 9, 15 | Delete = 10, 16 | Backspace = 11, 17 | Space = 12, 18 | Enter = 13, 19 | Escape = 14, 20 | KeyPadEnter = 15, 21 | A = 16, 22 | C = 17, 23 | V = 18, 24 | X = 19, 25 | Y = 20, 26 | Z = 21, 27 | COUNT = 22, 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiKey.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ed9adc1af60eeb7429cd58b24001ae93 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiListClipper.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImGuiListClipper 9 | { 10 | public int DisplayStart; 11 | public int DisplayEnd; 12 | public int ItemsCount; 13 | public int StepNo; 14 | public float ItemsHeight; 15 | public float StartPosY; 16 | } 17 | public unsafe partial struct ImGuiListClipperPtr 18 | { 19 | public ImGuiListClipper* NativePtr { get; } 20 | public ImGuiListClipperPtr(ImGuiListClipper* nativePtr) => NativePtr = nativePtr; 21 | public ImGuiListClipperPtr(IntPtr nativePtr) => NativePtr = (ImGuiListClipper*)nativePtr; 22 | public static implicit operator ImGuiListClipperPtr(ImGuiListClipper* nativePtr) => new ImGuiListClipperPtr(nativePtr); 23 | public static implicit operator ImGuiListClipper* (ImGuiListClipperPtr wrappedPtr) => wrappedPtr.NativePtr; 24 | public static implicit operator ImGuiListClipperPtr(IntPtr nativePtr) => new ImGuiListClipperPtr(nativePtr); 25 | public ref int DisplayStart => ref Unsafe.AsRef(&NativePtr->DisplayStart); 26 | public ref int DisplayEnd => ref Unsafe.AsRef(&NativePtr->DisplayEnd); 27 | public ref int ItemsCount => ref Unsafe.AsRef(&NativePtr->ItemsCount); 28 | public ref int StepNo => ref Unsafe.AsRef(&NativePtr->StepNo); 29 | public ref float ItemsHeight => ref Unsafe.AsRef(&NativePtr->ItemsHeight); 30 | public ref float StartPosY => ref Unsafe.AsRef(&NativePtr->StartPosY); 31 | public void Begin(int items_count) 32 | { 33 | float items_height = -1.0f; 34 | ImGuiNative.ImGuiListClipper_Begin(NativePtr, items_count, items_height); 35 | } 36 | public void Begin(int items_count, float items_height) 37 | { 38 | ImGuiNative.ImGuiListClipper_Begin(NativePtr, items_count, items_height); 39 | } 40 | public void Destroy() 41 | { 42 | ImGuiNative.ImGuiListClipper_destroy(NativePtr); 43 | } 44 | public void End() 45 | { 46 | ImGuiNative.ImGuiListClipper_End(NativePtr); 47 | } 48 | public bool Step() 49 | { 50 | byte ret = ImGuiNative.ImGuiListClipper_Step(NativePtr); 51 | return ret != 0; 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiListClipper.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a02fe17e560bbfd429d90c15838d1fa5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiMouseButton.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiMouseButton 4 | { 5 | Left = 0, 6 | Right = 1, 7 | Middle = 2, 8 | COUNT = 5, 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiMouseButton.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 73239e339ad39da41af1895693088f98 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiMouseCursor.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiMouseCursor 4 | { 5 | None = -1, 6 | Arrow = 0, 7 | TextInput = 1, 8 | ResizeAll = 2, 9 | ResizeNS = 3, 10 | ResizeEW = 4, 11 | ResizeNESW = 5, 12 | ResizeNWSE = 6, 13 | Hand = 7, 14 | NotAllowed = 8, 15 | COUNT = 9, 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiMouseCursor.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b4ce82a9a74ef1146a1d4ea34eca98b3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiNative.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5d63b6a798fcd4142b4d66a13f5a8907 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiNavInput.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiNavInput 4 | { 5 | Activate = 0, 6 | Cancel = 1, 7 | Input = 2, 8 | Menu = 3, 9 | DpadLeft = 4, 10 | DpadRight = 5, 11 | DpadUp = 6, 12 | DpadDown = 7, 13 | LStickLeft = 8, 14 | LStickRight = 9, 15 | LStickUp = 10, 16 | LStickDown = 11, 17 | FocusPrev = 12, 18 | FocusNext = 13, 19 | TweakSlow = 14, 20 | TweakFast = 15, 21 | KeyMenu = 16, 22 | KeyLeft = 17, 23 | KeyRight = 18, 24 | KeyUp = 19, 25 | KeyDown = 20, 26 | COUNT = 21, 27 | InternalStart = KeyMenu, 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiNavInput.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c522c61282d82b94ea005ba6d843ba1b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiOnceUponAFrame.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImGuiOnceUponAFrame 9 | { 10 | public int RefFrame; 11 | } 12 | public unsafe partial struct ImGuiOnceUponAFramePtr 13 | { 14 | public ImGuiOnceUponAFrame* NativePtr { get; } 15 | public ImGuiOnceUponAFramePtr(ImGuiOnceUponAFrame* nativePtr) => NativePtr = nativePtr; 16 | public ImGuiOnceUponAFramePtr(IntPtr nativePtr) => NativePtr = (ImGuiOnceUponAFrame*)nativePtr; 17 | public static implicit operator ImGuiOnceUponAFramePtr(ImGuiOnceUponAFrame* nativePtr) => new ImGuiOnceUponAFramePtr(nativePtr); 18 | public static implicit operator ImGuiOnceUponAFrame* (ImGuiOnceUponAFramePtr wrappedPtr) => wrappedPtr.NativePtr; 19 | public static implicit operator ImGuiOnceUponAFramePtr(IntPtr nativePtr) => new ImGuiOnceUponAFramePtr(nativePtr); 20 | public ref int RefFrame => ref Unsafe.AsRef(&NativePtr->RefFrame); 21 | public void Destroy() 22 | { 23 | ImGuiNative.ImGuiOnceUponAFrame_destroy(NativePtr); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiOnceUponAFrame.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1589229f076c9df4daf04bcc2a7d6866 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiPayload.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImGuiPayload 9 | { 10 | public void* Data; 11 | public int DataSize; 12 | public uint SourceId; 13 | public uint SourceParentId; 14 | public int DataFrameCount; 15 | public fixed byte DataType[33]; 16 | public byte Preview; 17 | public byte Delivery; 18 | } 19 | public unsafe partial struct ImGuiPayloadPtr 20 | { 21 | public ImGuiPayload* NativePtr { get; } 22 | public ImGuiPayloadPtr(ImGuiPayload* nativePtr) => NativePtr = nativePtr; 23 | public ImGuiPayloadPtr(IntPtr nativePtr) => NativePtr = (ImGuiPayload*)nativePtr; 24 | public static implicit operator ImGuiPayloadPtr(ImGuiPayload* nativePtr) => new ImGuiPayloadPtr(nativePtr); 25 | public static implicit operator ImGuiPayload* (ImGuiPayloadPtr wrappedPtr) => wrappedPtr.NativePtr; 26 | public static implicit operator ImGuiPayloadPtr(IntPtr nativePtr) => new ImGuiPayloadPtr(nativePtr); 27 | public IntPtr Data { get => (IntPtr)NativePtr->Data; set => NativePtr->Data = (void*)value; } 28 | public ref int DataSize => ref Unsafe.AsRef(&NativePtr->DataSize); 29 | public ref uint SourceId => ref Unsafe.AsRef(&NativePtr->SourceId); 30 | public ref uint SourceParentId => ref Unsafe.AsRef(&NativePtr->SourceParentId); 31 | public ref int DataFrameCount => ref Unsafe.AsRef(&NativePtr->DataFrameCount); 32 | public RangeAccessor DataType => new RangeAccessor(NativePtr->DataType, 33); 33 | public ref bool Preview => ref Unsafe.AsRef(&NativePtr->Preview); 34 | public ref bool Delivery => ref Unsafe.AsRef(&NativePtr->Delivery); 35 | public void Clear() 36 | { 37 | ImGuiNative.ImGuiPayload_Clear(NativePtr); 38 | } 39 | public void Destroy() 40 | { 41 | ImGuiNative.ImGuiPayload_destroy(NativePtr); 42 | } 43 | public bool IsDataType(string type) 44 | { 45 | byte* native_type; 46 | int type_byteCount = 0; 47 | if (type != null) 48 | { 49 | type_byteCount = Encoding.UTF8.GetByteCount(type); 50 | if (type_byteCount > Util.StackAllocationSizeLimit) 51 | { 52 | native_type = Util.Allocate(type_byteCount + 1); 53 | } 54 | else 55 | { 56 | byte* native_type_stackBytes = stackalloc byte[type_byteCount + 1]; 57 | native_type = native_type_stackBytes; 58 | } 59 | int native_type_offset = Util.GetUtf8(type, native_type, type_byteCount); 60 | native_type[native_type_offset] = 0; 61 | } 62 | else { native_type = null; } 63 | byte ret = ImGuiNative.ImGuiPayload_IsDataType(NativePtr, native_type); 64 | if (type_byteCount > Util.StackAllocationSizeLimit) 65 | { 66 | Util.Free(native_type); 67 | } 68 | return ret != 0; 69 | } 70 | public bool IsDelivery() 71 | { 72 | byte ret = ImGuiNative.ImGuiPayload_IsDelivery(NativePtr); 73 | return ret != 0; 74 | } 75 | public bool IsPreview() 76 | { 77 | byte ret = ImGuiNative.ImGuiPayload_IsPreview(NativePtr); 78 | return ret != 0; 79 | } 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiPayload.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 999a9f297b387d54da2a03365e066fb8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiSelectableFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiSelectableFlags 5 | { 6 | None = 0, 7 | DontClosePopups = 1 << 0, 8 | SpanAllColumns = 1 << 1, 9 | AllowDoubleClick = 1 << 2, 10 | Disabled = 1 << 3, 11 | AllowItemOverlap = 1 << 4, 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiSelectableFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c12ad3e959fbb0749b3a862ade4b400c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiSizeCallbackData.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImGuiSizeCallbackData 9 | { 10 | public void* UserData; 11 | public Vector2 Pos; 12 | public Vector2 CurrentSize; 13 | public Vector2 DesiredSize; 14 | } 15 | public unsafe partial struct ImGuiSizeCallbackDataPtr 16 | { 17 | public ImGuiSizeCallbackData* NativePtr { get; } 18 | public ImGuiSizeCallbackDataPtr(ImGuiSizeCallbackData* nativePtr) => NativePtr = nativePtr; 19 | public ImGuiSizeCallbackDataPtr(IntPtr nativePtr) => NativePtr = (ImGuiSizeCallbackData*)nativePtr; 20 | public static implicit operator ImGuiSizeCallbackDataPtr(ImGuiSizeCallbackData* nativePtr) => new ImGuiSizeCallbackDataPtr(nativePtr); 21 | public static implicit operator ImGuiSizeCallbackData* (ImGuiSizeCallbackDataPtr wrappedPtr) => wrappedPtr.NativePtr; 22 | public static implicit operator ImGuiSizeCallbackDataPtr(IntPtr nativePtr) => new ImGuiSizeCallbackDataPtr(nativePtr); 23 | public IntPtr UserData { get => (IntPtr)NativePtr->UserData; set => NativePtr->UserData = (void*)value; } 24 | public ref Vector2 Pos => ref Unsafe.AsRef(&NativePtr->Pos); 25 | public ref Vector2 CurrentSize => ref Unsafe.AsRef(&NativePtr->CurrentSize); 26 | public ref Vector2 DesiredSize => ref Unsafe.AsRef(&NativePtr->DesiredSize); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiSizeCallbackData.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5a79835f3a2f1ba448a98768b75c528b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiStorage.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImGuiStorage 9 | { 10 | public ImVector Data; 11 | } 12 | public unsafe partial struct ImGuiStoragePtr 13 | { 14 | public ImGuiStorage* NativePtr { get; } 15 | public ImGuiStoragePtr(ImGuiStorage* nativePtr) => NativePtr = nativePtr; 16 | public ImGuiStoragePtr(IntPtr nativePtr) => NativePtr = (ImGuiStorage*)nativePtr; 17 | public static implicit operator ImGuiStoragePtr(ImGuiStorage* nativePtr) => new ImGuiStoragePtr(nativePtr); 18 | public static implicit operator ImGuiStorage* (ImGuiStoragePtr wrappedPtr) => wrappedPtr.NativePtr; 19 | public static implicit operator ImGuiStoragePtr(IntPtr nativePtr) => new ImGuiStoragePtr(nativePtr); 20 | public ImPtrVector Data => new ImPtrVector(NativePtr->Data, Unsafe.SizeOf()); 21 | public void BuildSortByKey() 22 | { 23 | ImGuiNative.ImGuiStorage_BuildSortByKey(NativePtr); 24 | } 25 | public void Clear() 26 | { 27 | ImGuiNative.ImGuiStorage_Clear(NativePtr); 28 | } 29 | public bool GetBool(uint key) 30 | { 31 | byte default_val = 0; 32 | byte ret = ImGuiNative.ImGuiStorage_GetBool(NativePtr, key, default_val); 33 | return ret != 0; 34 | } 35 | public bool GetBool(uint key, bool default_val) 36 | { 37 | byte native_default_val = default_val ? (byte)1 : (byte)0; 38 | byte ret = ImGuiNative.ImGuiStorage_GetBool(NativePtr, key, native_default_val); 39 | return ret != 0; 40 | } 41 | public byte* GetBoolRef(uint key) 42 | { 43 | byte default_val = 0; 44 | byte* ret = ImGuiNative.ImGuiStorage_GetBoolRef(NativePtr, key, default_val); 45 | return ret; 46 | } 47 | public byte* GetBoolRef(uint key, bool default_val) 48 | { 49 | byte native_default_val = default_val ? (byte)1 : (byte)0; 50 | byte* ret = ImGuiNative.ImGuiStorage_GetBoolRef(NativePtr, key, native_default_val); 51 | return ret; 52 | } 53 | public float GetFloat(uint key) 54 | { 55 | float default_val = 0.0f; 56 | float ret = ImGuiNative.ImGuiStorage_GetFloat(NativePtr, key, default_val); 57 | return ret; 58 | } 59 | public float GetFloat(uint key, float default_val) 60 | { 61 | float ret = ImGuiNative.ImGuiStorage_GetFloat(NativePtr, key, default_val); 62 | return ret; 63 | } 64 | public float* GetFloatRef(uint key) 65 | { 66 | float default_val = 0.0f; 67 | float* ret = ImGuiNative.ImGuiStorage_GetFloatRef(NativePtr, key, default_val); 68 | return ret; 69 | } 70 | public float* GetFloatRef(uint key, float default_val) 71 | { 72 | float* ret = ImGuiNative.ImGuiStorage_GetFloatRef(NativePtr, key, default_val); 73 | return ret; 74 | } 75 | public int GetInt(uint key) 76 | { 77 | int default_val = 0; 78 | int ret = ImGuiNative.ImGuiStorage_GetInt(NativePtr, key, default_val); 79 | return ret; 80 | } 81 | public int GetInt(uint key, int default_val) 82 | { 83 | int ret = ImGuiNative.ImGuiStorage_GetInt(NativePtr, key, default_val); 84 | return ret; 85 | } 86 | public int* GetIntRef(uint key) 87 | { 88 | int default_val = 0; 89 | int* ret = ImGuiNative.ImGuiStorage_GetIntRef(NativePtr, key, default_val); 90 | return ret; 91 | } 92 | public int* GetIntRef(uint key, int default_val) 93 | { 94 | int* ret = ImGuiNative.ImGuiStorage_GetIntRef(NativePtr, key, default_val); 95 | return ret; 96 | } 97 | public IntPtr GetVoidPtr(uint key) 98 | { 99 | void* ret = ImGuiNative.ImGuiStorage_GetVoidPtr(NativePtr, key); 100 | return (IntPtr)ret; 101 | } 102 | public void** GetVoidPtrRef(uint key) 103 | { 104 | void* default_val = null; 105 | void** ret = ImGuiNative.ImGuiStorage_GetVoidPtrRef(NativePtr, key, default_val); 106 | return ret; 107 | } 108 | public void** GetVoidPtrRef(uint key, IntPtr default_val) 109 | { 110 | void* native_default_val = (void*)default_val.ToPointer(); 111 | void** ret = ImGuiNative.ImGuiStorage_GetVoidPtrRef(NativePtr, key, native_default_val); 112 | return ret; 113 | } 114 | public void SetAllInt(int val) 115 | { 116 | ImGuiNative.ImGuiStorage_SetAllInt(NativePtr, val); 117 | } 118 | public void SetBool(uint key, bool val) 119 | { 120 | byte native_val = val ? (byte)1 : (byte)0; 121 | ImGuiNative.ImGuiStorage_SetBool(NativePtr, key, native_val); 122 | } 123 | public void SetFloat(uint key, float val) 124 | { 125 | ImGuiNative.ImGuiStorage_SetFloat(NativePtr, key, val); 126 | } 127 | public void SetInt(uint key, int val) 128 | { 129 | ImGuiNative.ImGuiStorage_SetInt(NativePtr, key, val); 130 | } 131 | public void SetVoidPtr(uint key, IntPtr val) 132 | { 133 | void* native_val = (void*)val.ToPointer(); 134 | ImGuiNative.ImGuiStorage_SetVoidPtr(NativePtr, key, native_val); 135 | } 136 | } 137 | } 138 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiStorage.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 067805c47dcf927439d30ac507dfc66e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiStyle.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 008b84e61e919fe4d8ed75c36e1315cd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiStyleVar.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiStyleVar 4 | { 5 | Alpha = 0, 6 | WindowPadding = 1, 7 | WindowRounding = 2, 8 | WindowBorderSize = 3, 9 | WindowMinSize = 4, 10 | WindowTitleAlign = 5, 11 | ChildRounding = 6, 12 | ChildBorderSize = 7, 13 | PopupRounding = 8, 14 | PopupBorderSize = 9, 15 | FramePadding = 10, 16 | FrameRounding = 11, 17 | FrameBorderSize = 12, 18 | ItemSpacing = 13, 19 | ItemInnerSpacing = 14, 20 | IndentSpacing = 15, 21 | ScrollbarSize = 16, 22 | ScrollbarRounding = 17, 23 | GrabMinSize = 18, 24 | GrabRounding = 19, 25 | TabRounding = 20, 26 | ButtonTextAlign = 21, 27 | SelectableTextAlign = 22, 28 | COUNT = 23, 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiStyleVar.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8b7639254f0287b478ad5250cfc2b7fd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiTabBarFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiTabBarFlags 5 | { 6 | None = 0, 7 | Reorderable = 1 << 0, 8 | AutoSelectNewTabs = 1 << 1, 9 | TabListPopupButton = 1 << 2, 10 | NoCloseWithMiddleMouseButton = 1 << 3, 11 | NoTabListScrollingButtons = 1 << 4, 12 | NoTooltip = 1 << 5, 13 | FittingPolicyResizeDown = 1 << 6, 14 | FittingPolicyScroll = 1 << 7, 15 | FittingPolicyMask = FittingPolicyResizeDown | FittingPolicyScroll, 16 | FittingPolicyDefault = FittingPolicyResizeDown, 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiTabBarFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 946fbb9777066d4458aebe0521760099 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiTabItemFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiTabItemFlags 5 | { 6 | None = 0, 7 | UnsavedDocument = 1 << 0, 8 | SetSelected = 1 << 1, 9 | NoCloseWithMiddleMouseButton = 1 << 2, 10 | NoPushId = 1 << 3, 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiTabItemFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f6df72aacd3cb94c99f16baa55b0e87 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiTextBuffer.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImGuiTextBuffer 9 | { 10 | public ImVector Buf; 11 | } 12 | public unsafe partial struct ImGuiTextBufferPtr 13 | { 14 | public ImGuiTextBuffer* NativePtr { get; } 15 | public ImGuiTextBufferPtr(ImGuiTextBuffer* nativePtr) => NativePtr = nativePtr; 16 | public ImGuiTextBufferPtr(IntPtr nativePtr) => NativePtr = (ImGuiTextBuffer*)nativePtr; 17 | public static implicit operator ImGuiTextBufferPtr(ImGuiTextBuffer* nativePtr) => new ImGuiTextBufferPtr(nativePtr); 18 | public static implicit operator ImGuiTextBuffer* (ImGuiTextBufferPtr wrappedPtr) => wrappedPtr.NativePtr; 19 | public static implicit operator ImGuiTextBufferPtr(IntPtr nativePtr) => new ImGuiTextBufferPtr(nativePtr); 20 | public ImVector Buf => new ImVector(NativePtr->Buf); 21 | public void append(string str) 22 | { 23 | byte* native_str; 24 | int str_byteCount = 0; 25 | if (str != null) 26 | { 27 | str_byteCount = Encoding.UTF8.GetByteCount(str); 28 | if (str_byteCount > Util.StackAllocationSizeLimit) 29 | { 30 | native_str = Util.Allocate(str_byteCount + 1); 31 | } 32 | else 33 | { 34 | byte* native_str_stackBytes = stackalloc byte[str_byteCount + 1]; 35 | native_str = native_str_stackBytes; 36 | } 37 | int native_str_offset = Util.GetUtf8(str, native_str, str_byteCount); 38 | native_str[native_str_offset] = 0; 39 | } 40 | else { native_str = null; } 41 | byte* native_str_end = null; 42 | ImGuiNative.ImGuiTextBuffer_append(NativePtr, native_str, native_str_end); 43 | if (str_byteCount > Util.StackAllocationSizeLimit) 44 | { 45 | Util.Free(native_str); 46 | } 47 | } 48 | public void appendf(string fmt) 49 | { 50 | byte* native_fmt; 51 | int fmt_byteCount = 0; 52 | if (fmt != null) 53 | { 54 | fmt_byteCount = Encoding.UTF8.GetByteCount(fmt); 55 | if (fmt_byteCount > Util.StackAllocationSizeLimit) 56 | { 57 | native_fmt = Util.Allocate(fmt_byteCount + 1); 58 | } 59 | else 60 | { 61 | byte* native_fmt_stackBytes = stackalloc byte[fmt_byteCount + 1]; 62 | native_fmt = native_fmt_stackBytes; 63 | } 64 | int native_fmt_offset = Util.GetUtf8(fmt, native_fmt, fmt_byteCount); 65 | native_fmt[native_fmt_offset] = 0; 66 | } 67 | else { native_fmt = null; } 68 | ImGuiNative.ImGuiTextBuffer_appendf(NativePtr, native_fmt); 69 | if (fmt_byteCount > Util.StackAllocationSizeLimit) 70 | { 71 | Util.Free(native_fmt); 72 | } 73 | } 74 | public string begin() 75 | { 76 | byte* ret = ImGuiNative.ImGuiTextBuffer_begin(NativePtr); 77 | return Util.StringFromPtr(ret); 78 | } 79 | public string c_str() 80 | { 81 | byte* ret = ImGuiNative.ImGuiTextBuffer_c_str(NativePtr); 82 | return Util.StringFromPtr(ret); 83 | } 84 | public void clear() 85 | { 86 | ImGuiNative.ImGuiTextBuffer_clear(NativePtr); 87 | } 88 | public void Destroy() 89 | { 90 | ImGuiNative.ImGuiTextBuffer_destroy(NativePtr); 91 | } 92 | public bool empty() 93 | { 94 | byte ret = ImGuiNative.ImGuiTextBuffer_empty(NativePtr); 95 | return ret != 0; 96 | } 97 | public string end() 98 | { 99 | byte* ret = ImGuiNative.ImGuiTextBuffer_end(NativePtr); 100 | return Util.StringFromPtr(ret); 101 | } 102 | public void reserve(int capacity) 103 | { 104 | ImGuiNative.ImGuiTextBuffer_reserve(NativePtr, capacity); 105 | } 106 | public int size() 107 | { 108 | int ret = ImGuiNative.ImGuiTextBuffer_size(NativePtr); 109 | return ret; 110 | } 111 | } 112 | } 113 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiTextBuffer.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2d8b9bae594bcb541b992f77d8ae935b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiTextFilter.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImGuiTextFilter 9 | { 10 | public fixed byte InputBuf[256]; 11 | public ImVector Filters; 12 | public int CountGrep; 13 | } 14 | public unsafe partial struct ImGuiTextFilterPtr 15 | { 16 | public ImGuiTextFilter* NativePtr { get; } 17 | public ImGuiTextFilterPtr(ImGuiTextFilter* nativePtr) => NativePtr = nativePtr; 18 | public ImGuiTextFilterPtr(IntPtr nativePtr) => NativePtr = (ImGuiTextFilter*)nativePtr; 19 | public static implicit operator ImGuiTextFilterPtr(ImGuiTextFilter* nativePtr) => new ImGuiTextFilterPtr(nativePtr); 20 | public static implicit operator ImGuiTextFilter* (ImGuiTextFilterPtr wrappedPtr) => wrappedPtr.NativePtr; 21 | public static implicit operator ImGuiTextFilterPtr(IntPtr nativePtr) => new ImGuiTextFilterPtr(nativePtr); 22 | public RangeAccessor InputBuf => new RangeAccessor(NativePtr->InputBuf, 256); 23 | public ImPtrVector Filters => new ImPtrVector(NativePtr->Filters, Unsafe.SizeOf()); 24 | public ref int CountGrep => ref Unsafe.AsRef(&NativePtr->CountGrep); 25 | public void Build() 26 | { 27 | ImGuiNative.ImGuiTextFilter_Build(NativePtr); 28 | } 29 | public void Clear() 30 | { 31 | ImGuiNative.ImGuiTextFilter_Clear(NativePtr); 32 | } 33 | public void Destroy() 34 | { 35 | ImGuiNative.ImGuiTextFilter_destroy(NativePtr); 36 | } 37 | public bool Draw() 38 | { 39 | byte* native_label; 40 | int label_byteCount = 0; 41 | label_byteCount = Encoding.UTF8.GetByteCount("Filter(inc,-exc)"); 42 | if (label_byteCount > Util.StackAllocationSizeLimit) 43 | { 44 | native_label = Util.Allocate(label_byteCount + 1); 45 | } 46 | else 47 | { 48 | byte* native_label_stackBytes = stackalloc byte[label_byteCount + 1]; 49 | native_label = native_label_stackBytes; 50 | } 51 | int native_label_offset = Util.GetUtf8("Filter(inc,-exc)", native_label, label_byteCount); 52 | native_label[native_label_offset] = 0; 53 | float width = 0.0f; 54 | byte ret = ImGuiNative.ImGuiTextFilter_Draw(NativePtr, native_label, width); 55 | if (label_byteCount > Util.StackAllocationSizeLimit) 56 | { 57 | Util.Free(native_label); 58 | } 59 | return ret != 0; 60 | } 61 | public bool Draw(string label) 62 | { 63 | byte* native_label; 64 | int label_byteCount = 0; 65 | if (label != null) 66 | { 67 | label_byteCount = Encoding.UTF8.GetByteCount(label); 68 | if (label_byteCount > Util.StackAllocationSizeLimit) 69 | { 70 | native_label = Util.Allocate(label_byteCount + 1); 71 | } 72 | else 73 | { 74 | byte* native_label_stackBytes = stackalloc byte[label_byteCount + 1]; 75 | native_label = native_label_stackBytes; 76 | } 77 | int native_label_offset = Util.GetUtf8(label, native_label, label_byteCount); 78 | native_label[native_label_offset] = 0; 79 | } 80 | else { native_label = null; } 81 | float width = 0.0f; 82 | byte ret = ImGuiNative.ImGuiTextFilter_Draw(NativePtr, native_label, width); 83 | if (label_byteCount > Util.StackAllocationSizeLimit) 84 | { 85 | Util.Free(native_label); 86 | } 87 | return ret != 0; 88 | } 89 | public bool Draw(string label, float width) 90 | { 91 | byte* native_label; 92 | int label_byteCount = 0; 93 | if (label != null) 94 | { 95 | label_byteCount = Encoding.UTF8.GetByteCount(label); 96 | if (label_byteCount > Util.StackAllocationSizeLimit) 97 | { 98 | native_label = Util.Allocate(label_byteCount + 1); 99 | } 100 | else 101 | { 102 | byte* native_label_stackBytes = stackalloc byte[label_byteCount + 1]; 103 | native_label = native_label_stackBytes; 104 | } 105 | int native_label_offset = Util.GetUtf8(label, native_label, label_byteCount); 106 | native_label[native_label_offset] = 0; 107 | } 108 | else { native_label = null; } 109 | byte ret = ImGuiNative.ImGuiTextFilter_Draw(NativePtr, native_label, width); 110 | if (label_byteCount > Util.StackAllocationSizeLimit) 111 | { 112 | Util.Free(native_label); 113 | } 114 | return ret != 0; 115 | } 116 | public bool IsActive() 117 | { 118 | byte ret = ImGuiNative.ImGuiTextFilter_IsActive(NativePtr); 119 | return ret != 0; 120 | } 121 | public bool PassFilter(string text) 122 | { 123 | byte* native_text; 124 | int text_byteCount = 0; 125 | if (text != null) 126 | { 127 | text_byteCount = Encoding.UTF8.GetByteCount(text); 128 | if (text_byteCount > Util.StackAllocationSizeLimit) 129 | { 130 | native_text = Util.Allocate(text_byteCount + 1); 131 | } 132 | else 133 | { 134 | byte* native_text_stackBytes = stackalloc byte[text_byteCount + 1]; 135 | native_text = native_text_stackBytes; 136 | } 137 | int native_text_offset = Util.GetUtf8(text, native_text, text_byteCount); 138 | native_text[native_text_offset] = 0; 139 | } 140 | else { native_text = null; } 141 | byte* native_text_end = null; 142 | byte ret = ImGuiNative.ImGuiTextFilter_PassFilter(NativePtr, native_text, native_text_end); 143 | if (text_byteCount > Util.StackAllocationSizeLimit) 144 | { 145 | Util.Free(native_text); 146 | } 147 | return ret != 0; 148 | } 149 | } 150 | } 151 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiTextFilter.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 93899ee6b9844504db52953c13dc47d2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiTextRange.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | using System.Runtime.CompilerServices; 4 | using System.Text; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImGuiTextRange 9 | { 10 | public byte* b; 11 | public byte* e; 12 | } 13 | public unsafe partial struct ImGuiTextRangePtr 14 | { 15 | public ImGuiTextRange* NativePtr { get; } 16 | public ImGuiTextRangePtr(ImGuiTextRange* nativePtr) => NativePtr = nativePtr; 17 | public ImGuiTextRangePtr(IntPtr nativePtr) => NativePtr = (ImGuiTextRange*)nativePtr; 18 | public static implicit operator ImGuiTextRangePtr(ImGuiTextRange* nativePtr) => new ImGuiTextRangePtr(nativePtr); 19 | public static implicit operator ImGuiTextRange* (ImGuiTextRangePtr wrappedPtr) => wrappedPtr.NativePtr; 20 | public static implicit operator ImGuiTextRangePtr(IntPtr nativePtr) => new ImGuiTextRangePtr(nativePtr); 21 | public IntPtr b { get => (IntPtr)NativePtr->b; set => NativePtr->b = (byte*)value; } 22 | public IntPtr e { get => (IntPtr)NativePtr->e; set => NativePtr->e = (byte*)value; } 23 | public void Destroy() 24 | { 25 | ImGuiNative.ImGuiTextRange_destroy(NativePtr); 26 | } 27 | public bool empty() 28 | { 29 | byte ret = ImGuiNative.ImGuiTextRange_empty(NativePtr); 30 | return ret != 0; 31 | } 32 | public void split(byte separator, out ImVector @out) 33 | { 34 | fixed (ImVector* native_out = &@out) 35 | { 36 | ImGuiNative.ImGuiTextRange_split(NativePtr, separator, native_out); 37 | } 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiTextRange.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b677d98bf5b13646b7cb1ac7c1e2d6d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiTreeNodeFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiTreeNodeFlags 5 | { 6 | None = 0, 7 | Selected = 1 << 0, 8 | Framed = 1 << 1, 9 | AllowItemOverlap = 1 << 2, 10 | NoTreePushOnOpen = 1 << 3, 11 | NoAutoOpenOnLog = 1 << 4, 12 | DefaultOpen = 1 << 5, 13 | OpenOnDoubleClick = 1 << 6, 14 | OpenOnArrow = 1 << 7, 15 | Leaf = 1 << 8, 16 | Bullet = 1 << 9, 17 | FramePadding = 1 << 10, 18 | SpanAvailWidth = 1 << 11, 19 | SpanFullWidth = 1 << 12, 20 | NavLeftJumpsBackHere = 1 << 13, 21 | CollapsingHeader = Framed | NoTreePushOnOpen | NoAutoOpenOnLog, 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiTreeNodeFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5b3928d91751e4349b5b795e9600fd8a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiWindowFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiWindowFlags 5 | { 6 | None = 0, 7 | NoTitleBar = 1 << 0, 8 | NoResize = 1 << 1, 9 | NoMove = 1 << 2, 10 | NoScrollbar = 1 << 3, 11 | NoScrollWithMouse = 1 << 4, 12 | NoCollapse = 1 << 5, 13 | AlwaysAutoResize = 1 << 6, 14 | NoBackground = 1 << 7, 15 | NoSavedSettings = 1 << 8, 16 | NoMouseInputs = 1 << 9, 17 | MenuBar = 1 << 10, 18 | HorizontalScrollbar = 1 << 11, 19 | NoFocusOnAppearing = 1 << 12, 20 | NoBringToFrontOnFocus = 1 << 13, 21 | AlwaysVerticalScrollbar = 1 << 14, 22 | AlwaysHorizontalScrollbar = 1<< 15, 23 | AlwaysUseWindowPadding = 1 << 16, 24 | NoNavInputs = 1 << 18, 25 | NoNavFocus = 1 << 19, 26 | UnsavedDocument = 1 << 20, 27 | NoNav = NoNavInputs | NoNavFocus, 28 | NoDecoration = NoTitleBar | NoResize | NoScrollbar | NoCollapse, 29 | NoInputs = NoMouseInputs | NoNavInputs | NoNavFocus, 30 | NavFlattened = 1 << 23, 31 | ChildWindow = 1 << 24, 32 | Tooltip = 1 << 25, 33 | Popup = 1 << 26, 34 | Modal = 1 << 27, 35 | ChildMenu = 1 << 28, 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Generated/ImGuiWindowFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a9e0c269fed18614cad1ec6c7f8727c2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/ImDrawData.Manual.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public unsafe partial struct ImDrawDataPtr 4 | { 5 | public RangePtrAccessor CmdListsRange => new RangePtrAccessor(CmdLists.ToPointer(), CmdListsCount); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/ImDrawData.Manual.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a82831ff5f6b94d40a810734149d3473 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/ImDrawList.Manual.cs: -------------------------------------------------------------------------------- 1 | using System.Numerics; 2 | using System.Text; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe partial struct ImDrawListPtr 7 | { 8 | public void AddText(Vector2 pos, uint col, string text_begin) 9 | { 10 | int text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); 11 | byte* native_text_begin = stackalloc byte[text_begin_byteCount + 1]; 12 | fixed (char* text_begin_ptr = text_begin) 13 | { 14 | int native_text_begin_offset = Encoding.UTF8.GetBytes(text_begin_ptr, text_begin.Length, native_text_begin, text_begin_byteCount); 15 | native_text_begin[native_text_begin_offset] = 0; 16 | } 17 | byte* native_text_end = null; 18 | ImGuiNative.ImDrawList_AddText(NativePtr, pos, col, native_text_begin, native_text_end); 19 | } 20 | 21 | public void AddText(ImFontPtr font, float font_size, Vector2 pos, uint col, string text_begin) 22 | { 23 | ImFont* native_font = font.NativePtr; 24 | int text_begin_byteCount = Encoding.UTF8.GetByteCount(text_begin); 25 | byte* native_text_begin = stackalloc byte[text_begin_byteCount + 1]; 26 | fixed (char* text_begin_ptr = text_begin) 27 | { 28 | int native_text_begin_offset = Encoding.UTF8.GetBytes(text_begin_ptr, text_begin.Length, native_text_begin, text_begin_byteCount); 29 | native_text_begin[native_text_begin_offset] = 0; 30 | } 31 | byte* native_text_end = null; 32 | float wrap_width = 0.0f; 33 | Vector4* cpu_fine_clip_rect = null; 34 | ImGuiNative.ImDrawList_AddTextFontPtr(NativePtr, native_font, font_size, pos, col, native_text_begin, native_text_end, wrap_width, cpu_fine_clip_rect); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/ImDrawList.Manual.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e6c14ba6b554b04b975823e251ac58d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/ImGui.Manual.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd8fa311cf40b5449af91a45d56b3d4a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/ImGui.NET.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ImGui.NET", 3 | "references": [], 4 | "includePlatforms": [], 5 | "excludePlatforms": [], 6 | "allowUnsafeCode": true, 7 | "overrideReferences": false, 8 | "precompiledReferences": [], 9 | "autoReferenced": true, 10 | "defineConstraints": [], 11 | "versionDefines": [], 12 | "noEngineReferences": false 13 | } -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/ImGui.NET.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b5e225ae26e212c4cb6f98aea143c272 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/ImGui.NET.csproj.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85cce679e9a6ef44cb58c728d36ee0a6 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/ImGuiSizeCallback.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public unsafe delegate void ImGuiSizeCallback(ImGuiSizeCallbackData* data); 4 | } 5 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/ImGuiSizeCallback.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 28e8f604baa8d6146aae96391b06201b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/ImGuiTextEditCallback.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public unsafe delegate int ImGuiInputTextCallback(ImGuiInputTextCallbackData* data); 4 | } 5 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/ImGuiTextEditCallback.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 470624ad1afbacb4e8b59443d641f493 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/ImVector.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe struct ImVector 7 | { 8 | public readonly int Size; 9 | public readonly int Capacity; 10 | public readonly IntPtr Data; 11 | 12 | public ref T Ref(int index) 13 | { 14 | return ref Unsafe.AsRef((byte*)Data + index * Unsafe.SizeOf()); 15 | } 16 | 17 | public IntPtr Address(int index) 18 | { 19 | return (IntPtr)((byte*)Data + index * Unsafe.SizeOf()); 20 | } 21 | } 22 | 23 | public unsafe struct ImVector 24 | { 25 | public readonly int Size; 26 | public readonly int Capacity; 27 | public readonly IntPtr Data; 28 | 29 | public ImVector(ImVector vector) 30 | { 31 | Size = vector.Size; 32 | Capacity = vector.Capacity; 33 | Data = vector.Data; 34 | } 35 | 36 | public ImVector(int size, int capacity, IntPtr data) 37 | { 38 | Size = size; 39 | Capacity = capacity; 40 | Data = data; 41 | } 42 | 43 | public ref T this[int index] => ref Unsafe.AsRef((byte*)Data + index * Unsafe.SizeOf()); 44 | } 45 | 46 | public unsafe struct ImPtrVector 47 | { 48 | public readonly int Size; 49 | public readonly int Capacity; 50 | public readonly IntPtr Data; 51 | private readonly int _stride; 52 | 53 | public ImPtrVector(ImVector vector, int stride) 54 | : this(vector.Size, vector.Capacity, vector.Data, stride) 55 | { } 56 | 57 | public ImPtrVector(int size, int capacity, IntPtr data, int stride) 58 | { 59 | Size = size; 60 | Capacity = capacity; 61 | Data = data; 62 | _stride = stride; 63 | } 64 | 65 | public T this[int index] 66 | { 67 | get 68 | { 69 | byte* address = (byte*)Data + index * _stride; 70 | T ret = Unsafe.Read(&address); 71 | return ret; 72 | } 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/ImVector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 319018e887c7ebb4189de9e7f4cd06b9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/NullTerminatedString.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | 3 | namespace ImGuiNET 4 | { 5 | public unsafe struct NullTerminatedString 6 | { 7 | public readonly byte* Data; 8 | 9 | public NullTerminatedString(byte* data) 10 | { 11 | Data = data; 12 | } 13 | 14 | public override string ToString() 15 | { 16 | int length = 0; 17 | byte* ptr = Data; 18 | while (*ptr != 0) 19 | { 20 | length += 1; 21 | ptr += 1; 22 | } 23 | 24 | return Encoding.ASCII.GetString(Data, length); 25 | } 26 | 27 | public static implicit operator string(NullTerminatedString nts) => nts.ToString(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/NullTerminatedString.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f93b43c9473f9be4b9f38ccd1c7a4fc2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Pair.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public struct ImGuiStoragePair 7 | { 8 | public uint Key; 9 | public UnionValue Value; 10 | } 11 | 12 | public unsafe struct ImGuiStoragePairPtr 13 | { 14 | public ImGuiStoragePair* NativePtr { get; } 15 | public ImGuiStoragePairPtr(ImGuiStoragePair* nativePtr) => NativePtr = nativePtr; 16 | public ImGuiStoragePairPtr(IntPtr nativePtr) => NativePtr = (ImGuiStoragePair*)nativePtr; 17 | public static implicit operator ImGuiStoragePairPtr(ImGuiStoragePair* nativePtr) => new ImGuiStoragePairPtr(nativePtr); 18 | public static implicit operator ImGuiStoragePair*(ImGuiStoragePairPtr wrappedPtr) => wrappedPtr.NativePtr; 19 | public static implicit operator ImGuiStoragePairPtr(IntPtr nativePtr) => new ImGuiStoragePairPtr(nativePtr); 20 | } 21 | 22 | [StructLayout(LayoutKind.Explicit)] 23 | public struct UnionValue 24 | { 25 | [FieldOffset(0)] 26 | public int ValueI32; 27 | [FieldOffset(0)] 28 | public float ValueF32; 29 | [FieldOffset(0)] 30 | public IntPtr ValuePtr; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Pair.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db408d2e3ce31234b96a9fd5eb9f5e51 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: de9c505a3a9468045a29c262a9f29981 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Plugins/cimgui.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ff1d8ab9c42269a4196f601df9f9df32 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Plugins/cimgui/linux-x64.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e148f9f9bcec884da55c5e93c1cd025 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Plugins/cimgui/linux-x64/cimgui.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JayPeet/UnityImGUI/ba462388cbfed3afcff62d417d6e6f5fc2457c03/UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Plugins/cimgui/linux-x64/cimgui.so -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Plugins/cimgui/linux-x64/cimgui.so.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5fffac459a4b07948a8486854da7a00c 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | : Any 16 | second: 17 | enabled: 0 18 | settings: 19 | Exclude Android: 1 20 | Exclude Editor: 0 21 | Exclude Linux64: 0 22 | Exclude OSXUniversal: 1 23 | Exclude Win: 0 24 | Exclude Win64: 0 25 | - first: 26 | Android: Android 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: x86 31 | - first: 32 | Any: 33 | second: 34 | enabled: 1 35 | settings: {} 36 | - first: 37 | Editor: Editor 38 | second: 39 | enabled: 1 40 | settings: 41 | CPU: x86_64 42 | DefaultValueInitialized: true 43 | OS: Linux 44 | - first: 45 | Standalone: Linux64 46 | second: 47 | enabled: 1 48 | settings: 49 | CPU: x86_64 50 | - first: 51 | Standalone: OSXUniversal 52 | second: 53 | enabled: 0 54 | settings: 55 | CPU: None 56 | - first: 57 | Standalone: Win 58 | second: 59 | enabled: 1 60 | settings: 61 | CPU: x86 62 | - first: 63 | Standalone: Win64 64 | second: 65 | enabled: 1 66 | settings: 67 | CPU: x86_64 68 | userData: 69 | assetBundleName: 70 | assetBundleVariant: 71 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Plugins/cimgui/osx-x64.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dcd32c053aad723469aad5380a02fe99 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Plugins/cimgui/osx-x64/cimgui.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JayPeet/UnityImGUI/ba462388cbfed3afcff62d417d6e6f5fc2457c03/UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Plugins/cimgui/osx-x64/cimgui.dylib -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Plugins/cimgui/osx-x64/cimgui.dylib.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 36d9143bb0e05f041a28bde6e9a71d3e 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | : Any 16 | second: 17 | enabled: 0 18 | settings: 19 | Exclude Android: 1 20 | Exclude Editor: 0 21 | Exclude Linux64: 1 22 | Exclude OSXUniversal: 0 23 | Exclude Win: 1 24 | Exclude Win64: 1 25 | - first: 26 | Android: Android 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: ARMv7 31 | - first: 32 | Any: 33 | second: 34 | enabled: 0 35 | settings: {} 36 | - first: 37 | Editor: Editor 38 | second: 39 | enabled: 1 40 | settings: 41 | CPU: AnyCPU 42 | DefaultValueInitialized: true 43 | OS: OSX 44 | - first: 45 | Standalone: Linux64 46 | second: 47 | enabled: 0 48 | settings: 49 | CPU: x86_64 50 | - first: 51 | Standalone: OSXUniversal 52 | second: 53 | enabled: 1 54 | settings: 55 | CPU: x86_64 56 | - first: 57 | Standalone: Win 58 | second: 59 | enabled: 0 60 | settings: 61 | CPU: x86 62 | - first: 63 | Standalone: Win64 64 | second: 65 | enabled: 0 66 | settings: 67 | CPU: x86_64 68 | userData: 69 | assetBundleName: 70 | assetBundleVariant: 71 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Plugins/cimgui/win-x64.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f79ce96e62858e74682a62b3e58a3fe8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Plugins/cimgui/win-x64/cimgui.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JayPeet/UnityImGUI/ba462388cbfed3afcff62d417d6e6f5fc2457c03/UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Plugins/cimgui/win-x64/cimgui.dll -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Plugins/cimgui/win-x64/cimgui.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 17d95952a43c44544a1a05a2ea13b91d 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | : Any 16 | second: 17 | enabled: 0 18 | settings: 19 | Exclude Android: 1 20 | Exclude Editor: 0 21 | Exclude Linux64: 0 22 | Exclude OSXUniversal: 0 23 | Exclude Win: 1 24 | Exclude Win64: 0 25 | - first: 26 | Android: Android 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: ARMv7 31 | - first: 32 | Any: 33 | second: 34 | enabled: 1 35 | settings: {} 36 | - first: 37 | Editor: Editor 38 | second: 39 | enabled: 1 40 | settings: 41 | CPU: x86_64 42 | DefaultValueInitialized: true 43 | OS: Windows 44 | - first: 45 | Facebook: Win 46 | second: 47 | enabled: 0 48 | settings: 49 | CPU: AnyCPU 50 | - first: 51 | Facebook: Win64 52 | second: 53 | enabled: 0 54 | settings: 55 | CPU: AnyCPU 56 | - first: 57 | Standalone: Linux64 58 | second: 59 | enabled: 1 60 | settings: 61 | CPU: AnyCPU 62 | - first: 63 | Standalone: OSXUniversal 64 | second: 65 | enabled: 1 66 | settings: 67 | CPU: AnyCPU 68 | - first: 69 | Standalone: Win 70 | second: 71 | enabled: 0 72 | settings: 73 | CPU: None 74 | - first: 75 | Standalone: Win64 76 | second: 77 | enabled: 1 78 | settings: 79 | CPU: AnyCPU 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Plugins/cimgui/win-x86.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f815ac3259a4c024aadfb6034c7b1f52 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Plugins/cimgui/win-x86/cimgui.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JayPeet/UnityImGUI/ba462388cbfed3afcff62d417d6e6f5fc2457c03/UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Plugins/cimgui/win-x86/cimgui.dll -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Plugins/cimgui/win-x86/cimgui.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 17b4161813fab9343bb28a6364bd05d2 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | : Any 16 | second: 17 | enabled: 0 18 | settings: 19 | Exclude Android: 1 20 | Exclude Editor: 0 21 | Exclude Linux64: 0 22 | Exclude OSXUniversal: 0 23 | Exclude Win: 0 24 | Exclude Win64: 1 25 | - first: 26 | Android: Android 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: ARMv7 31 | - first: 32 | Any: 33 | second: 34 | enabled: 1 35 | settings: {} 36 | - first: 37 | Editor: Editor 38 | second: 39 | enabled: 1 40 | settings: 41 | CPU: x86 42 | DefaultValueInitialized: true 43 | OS: Windows 44 | - first: 45 | Standalone: Linux64 46 | second: 47 | enabled: 1 48 | settings: 49 | CPU: AnyCPU 50 | - first: 51 | Standalone: OSXUniversal 52 | second: 53 | enabled: 1 54 | settings: 55 | CPU: x86_64 56 | - first: 57 | Standalone: Win 58 | second: 59 | enabled: 1 60 | settings: 61 | CPU: x86 62 | - first: 63 | Standalone: Win64 64 | second: 65 | enabled: 0 66 | settings: 67 | CPU: None 68 | userData: 69 | assetBundleName: 70 | assetBundleVariant: 71 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/RangeAccessor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | using System.Text; 4 | 5 | namespace ImGuiNET 6 | { 7 | public unsafe struct RangeAccessor where T : struct 8 | { 9 | private static readonly int s_sizeOfT = Unsafe.SizeOf(); 10 | 11 | public readonly void* Data; 12 | public readonly int Count; 13 | 14 | public RangeAccessor(IntPtr data, int count) : this(data.ToPointer(), count) { } 15 | public RangeAccessor(void* data, int count) 16 | { 17 | Data = data; 18 | Count = count; 19 | } 20 | 21 | public ref T this[int index] 22 | { 23 | get 24 | { 25 | if (index < 0 || index >= Count) 26 | { 27 | throw new IndexOutOfRangeException(); 28 | } 29 | 30 | return ref Unsafe.AsRef((byte*)Data + s_sizeOfT * index); 31 | } 32 | } 33 | } 34 | 35 | public unsafe struct RangePtrAccessor where T : struct 36 | { 37 | public readonly void* Data; 38 | public readonly int Count; 39 | 40 | public RangePtrAccessor(IntPtr data, int count) : this(data.ToPointer(), count) { } 41 | public RangePtrAccessor(void* data, int count) 42 | { 43 | Data = data; 44 | Count = count; 45 | } 46 | 47 | public T this[int index] 48 | { 49 | get 50 | { 51 | if (index < 0 || index >= Count) 52 | { 53 | throw new IndexOutOfRangeException(); 54 | } 55 | 56 | return Unsafe.Read((byte*)Data + sizeof(void*) * index); 57 | } 58 | } 59 | } 60 | 61 | public static class RangeAccessorExtensions 62 | { 63 | public static unsafe string GetStringASCII(this RangeAccessor stringAccessor) 64 | { 65 | return Encoding.ASCII.GetString((byte*)stringAccessor.Data, stringAccessor.Count); 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/RangeAccessor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 263c8288d297c8a4a8f50bbff75c2591 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Util.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | using System.Text; 4 | 5 | namespace ImGuiNET 6 | { 7 | internal static unsafe class Util 8 | { 9 | internal const int StackAllocationSizeLimit = 2048; 10 | 11 | public static string StringFromPtr(byte* ptr) 12 | { 13 | int characters = 0; 14 | while (ptr[characters] != 0) 15 | { 16 | characters++; 17 | } 18 | 19 | return Encoding.UTF8.GetString(ptr, characters); 20 | } 21 | 22 | internal static bool AreStringsEqual(byte* a, int aLength, byte* b) 23 | { 24 | for (int i = 0; i < aLength; i++) 25 | { 26 | if (a[i] != b[i]) { return false; } 27 | } 28 | 29 | if (b[aLength] != 0) { return false; } 30 | 31 | return true; 32 | } 33 | 34 | internal static byte* Allocate(int byteCount) => (byte*)Marshal.AllocHGlobal(byteCount); 35 | internal static void Free(byte* ptr) => Marshal.FreeHGlobal((IntPtr)ptr); 36 | internal static int GetUtf8(string s, byte* utf8Bytes, int utf8ByteCount) 37 | { 38 | fixed (char* utf16Ptr = s) 39 | { 40 | return Encoding.UTF8.GetBytes(utf16Ptr, s.Length, utf8Bytes, utf8ByteCount); 41 | } 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/Util.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1945ebfc7dd3f594ca254021895f39e6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/build.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3a882a5585a02104a92f8dc4c6d6b897 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/build/net40.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a2f321fb74139c4393d75425a505215 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/build/net40/ImGui.NET.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <_IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true 5 | <_IsMacOS Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true 6 | <_IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true 7 | 8 | <_NativeRuntime Condition=" '$(_NativeRuntime)' == '' And '$(_IsMacOS)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">osx-x64 9 | <_NativeRuntime Condition=" '$(_NativeRuntime)' == '' And '$(_IsLinux)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">linux-x64 10 | <_NativeRuntime Condition=" '$(_NativeRuntime)' == '' And '$(_IsWindows)' == 'true' And ('$(Prefer32Bit)' == 'true' Or '$(PlatformTarget)' == 'x86')">win-x86 11 | <_NativeRuntime Condition=" '$(_NativeRuntime)' == '' And '$(_IsWindows)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">win-x64 12 | 13 | <_NativeLibName Condition="'$(_NativeRuntime)' == 'win-x86' Or '$(_NativeRuntime)' == 'win-x64'">cimgui.dll 14 | <_NativeLibName Condition="'$(_NativeRuntime)' == 'osx-x64'">libcimgui.dylib 15 | <_NativeLibName Condition="'$(_NativeRuntime)' == 'linux-x64'">libcimgui.so 16 | 17 | 18 | 19 | %(Filename)%(Extension) 20 | Always 21 | False 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGui.NET/build/net40/ImGui.NET.targets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c967cf2c9fecc28429e6190c150cdb2e 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGuiController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using ImGuiNET; 3 | using UnityEngine; 4 | 5 | public class ImGuiController 6 | { 7 | private ImGuiInput _input = new ImGuiInput(); 8 | private bool _frameBegun; 9 | 10 | public ImGuiController() 11 | { 12 | IntPtr context = ImGui.CreateContext(); 13 | ImGui.SetCurrentContext(context); 14 | 15 | ImGui.GetIO().Fonts.AddFontDefault(); 16 | 17 | //#TODO : GenerateDeviceResources in Plugin. 18 | RecreateFontDeviceTexture(false); 19 | _input.SetKeyMappings(); 20 | 21 | SetPerFrameImGuiData(1.0f / 60.0f, Screen.width, Screen.height, new System.Numerics.Vector2(1.0f, 1.0f)); 22 | 23 | ImGui.NewFrame(); 24 | } 25 | 26 | ~ImGuiController() 27 | { 28 | ImGui.DestroyContext(); 29 | } 30 | 31 | public void RecreateFontDeviceTexture(bool sendToGPU) 32 | { 33 | ImGuiIOPtr io = ImGui.GetIO(); 34 | IntPtr pixels; 35 | int width, height, bytesPerPixel; 36 | io.Fonts.GetTexDataAsRGBA32(out pixels, out width, out height, out bytesPerPixel); 37 | 38 | if (sendToGPU) 39 | { 40 | IntPtr fontTexID = ImGuiPluginHook.GenerateImGuiFontTexture(pixels, width, height, bytesPerPixel); 41 | io.Fonts.SetTexID(fontTexID); 42 | } 43 | 44 | io.Fonts.ClearTexData(); 45 | } 46 | 47 | public void SetPerFrameImGuiData(float deltaSeconds, int _windowWidth, int _windowHeight, System.Numerics.Vector2 _scaleFactor) 48 | { 49 | ImGuiIOPtr io = ImGui.GetIO(); 50 | io.DisplaySize = new System.Numerics.Vector2( 51 | _windowWidth / _scaleFactor.X, 52 | _windowHeight / _scaleFactor.Y); 53 | io.DisplayFramebufferScale = _scaleFactor; 54 | io.DeltaTime = deltaSeconds; // DeltaTime is in seconds. 55 | } 56 | public void Render() 57 | { 58 | if (_frameBegun) 59 | { 60 | _frameBegun = false; 61 | 62 | ImGui.Render(); 63 | //#TODO : Pass GetDrawData to the C++ dll. 64 | var d = ImGui.GetDrawData(); 65 | 66 | ImGuiPluginHook.SendImGuiDrawCommands(d); 67 | } 68 | } 69 | 70 | public void Update() 71 | { 72 | Debug.Assert(ImGui.GetCurrentContext() != IntPtr.Zero); 73 | 74 | SetPerFrameImGuiData(Time.deltaTime, Screen.width, Screen.height, new System.Numerics.Vector2(1.0f, 1.0f)); 75 | _input.Update(); 76 | 77 | _frameBegun = true; 78 | ImGui.NewFrame(); 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGuiController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ef1caa84c6fe60f4393e89a05949ad1d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGuiConversions.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Numerics; 3 | public static class ImGuiConversions 4 | { 5 | public static System.Numerics.Vector2 ToImGui(this UnityEngine.Vector2 v) 6 | { 7 | return new System.Numerics.Vector2(v.x, v.y); 8 | } 9 | 10 | public static UnityEngine.Vector2 ToUnity(this System.Numerics.Vector2 v) 11 | { 12 | return new UnityEngine.Vector2(v.X, v.Y); 13 | } 14 | 15 | public static System.Numerics.Vector3 ToImGui(this UnityEngine.Vector3 v) 16 | { 17 | return new System.Numerics.Vector3(v.x, v.y, v.z); 18 | } 19 | 20 | public static UnityEngine.Vector3 ToUnity(this System.Numerics.Vector3 v) 21 | { 22 | return new UnityEngine.Vector3(v.X, v.Y, v.Z); 23 | } 24 | 25 | public static System.Numerics.Vector4 ToImGui(this UnityEngine.Color c) 26 | { 27 | return new System.Numerics.Vector4(c.r, c.g, c.b, c.a); 28 | } 29 | 30 | public static UnityEngine.Color ToUnity(this System.Numerics.Vector4 c) 31 | { 32 | return new UnityEngine.Color(c.X, c.Y, c.Z, c.W); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGuiConversions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b82edd04f81cdc458c12726fd4768dd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGuiDemoWindow.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using ImGuiNET; 3 | public class ImGuiDemoWindow : MonoBehaviour 4 | { 5 | public void Update() 6 | { 7 | ImGui.ShowDemoWindow(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGuiDemoWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2099d43d024f2e74892872c1507c9fbf 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGuiInput.cs: -------------------------------------------------------------------------------- 1 | using ImGuiNET; 2 | using UnityEngine; 3 | 4 | class ImGuiInput 5 | { 6 | int[] trackedKeys; 7 | public static bool WantCaptureMouse 8 | { 9 | get { return ImGui.GetIO().WantCaptureMouse; } 10 | } 11 | 12 | public static bool WantCaptureKeyboard 13 | { 14 | get { return ImGui.GetIO().WantCaptureKeyboard; } 15 | } 16 | 17 | public void SetKeyMappings() 18 | { 19 | ImGuiIOPtr io = ImGui.GetIO(); 20 | trackedKeys = new int[] { 21 | io.KeyMap[(int)ImGuiKey.Tab] = (int)KeyCode.Tab, 22 | io.KeyMap[(int)ImGuiKey.LeftArrow] = (int)KeyCode.LeftArrow, 23 | io.KeyMap[(int)ImGuiKey.RightArrow] = (int)KeyCode.RightArrow, 24 | io.KeyMap[(int)ImGuiKey.UpArrow] = (int)KeyCode.UpArrow, 25 | io.KeyMap[(int)ImGuiKey.DownArrow] = (int)KeyCode.DownArrow, 26 | io.KeyMap[(int)ImGuiKey.PageUp] = (int)KeyCode.PageUp, 27 | io.KeyMap[(int)ImGuiKey.PageDown] = (int)KeyCode.PageDown, 28 | io.KeyMap[(int)ImGuiKey.Home] = (int)KeyCode.Home, 29 | io.KeyMap[(int)ImGuiKey.End] = (int)KeyCode.End, 30 | io.KeyMap[(int)ImGuiKey.Insert] = (int)KeyCode.Insert, 31 | io.KeyMap[(int)ImGuiKey.Delete] = (int)KeyCode.Delete, 32 | io.KeyMap[(int)ImGuiKey.Backspace] = (int)KeyCode.Backspace, 33 | io.KeyMap[(int)ImGuiKey.Space] = (int)KeyCode.Space, 34 | io.KeyMap[(int)ImGuiKey.Enter] = (int)KeyCode.Return, 35 | io.KeyMap[(int)ImGuiKey.Escape] = (int)KeyCode.Escape, 36 | io.KeyMap[(int)ImGuiKey.KeyPadEnter] = (int)KeyCode.KeypadEnter, 37 | io.KeyMap[(int)ImGuiKey.A] = (int)KeyCode.A, 38 | io.KeyMap[(int)ImGuiKey.C] = (int)KeyCode.C, 39 | io.KeyMap[(int)ImGuiKey.V] = (int)KeyCode.V, 40 | io.KeyMap[(int)ImGuiKey.X] = (int)KeyCode.X, 41 | io.KeyMap[(int)ImGuiKey.Y] = (int)KeyCode.Y, 42 | io.KeyMap[(int)ImGuiKey.Z] = (int)KeyCode.Z, 43 | }; 44 | } 45 | 46 | public void Update() 47 | { 48 | ImGuiIOPtr io = ImGui.GetIO(); 49 | UpdateMouse(io); 50 | UpdateKeyboard(io); 51 | } 52 | 53 | public void UpdateMouse(ImGuiIOPtr io) 54 | { 55 | io.MouseDown[0] = Input.GetMouseButton(0); 56 | io.MouseDown[1] = Input.GetMouseButton(1); 57 | io.MouseDown[2] = Input.GetMouseButton(2); 58 | 59 | io.MousePos = new System.Numerics.Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y); 60 | 61 | io.MouseWheel = Input.mouseScrollDelta.y; 62 | io.MouseWheelH = Input.mouseScrollDelta.x; 63 | } 64 | 65 | public void UpdateKeyboard(ImGuiIOPtr io) 66 | { 67 | io.AddInputCharactersUTF8(Input.inputString); 68 | 69 | foreach (int key in trackedKeys) 70 | { 71 | io.KeysDown[key] = Input.GetKey((KeyCode)key); 72 | } 73 | 74 | io.KeyCtrl = Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl); 75 | io.KeyAlt = Input.GetKey(KeyCode.LeftAlt) || Input.GetKey(KeyCode.RightAlt); 76 | io.KeyShift = Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift); 77 | io.KeySuper = Input.GetKey(KeyCode.LeftWindows) || Input.GetKey(KeyCode.RightWindows) 78 | || Input.GetKey(KeyCode.LeftCommand) || Input.GetKey(KeyCode.RightCommand); 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGuiInput.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 510de239ae9a8924f8292e885daebce2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGuiPluginHook.cs: -------------------------------------------------------------------------------- 1 | using ImGuiNET; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Runtime.InteropServices; 5 | using UnityEngine; 6 | 7 | public class ImGuiPluginHook : MonoBehaviour 8 | { 9 | [DllImport("UnityImGuiRenderer")] 10 | private static extern System.IntPtr GetRenderEventFunc(); 11 | 12 | private delegate void DebugCallback(string message); 13 | 14 | [DllImport("UnityImGuiRenderer")] 15 | private static extern void RegisterDebugCallback(DebugCallback callback); 16 | 17 | [DllImport("UnityImGuiRenderer")] 18 | public static extern System.IntPtr GenerateImGuiFontTexture(System.IntPtr pixels, int width, int height, int bytesPerPixel); 19 | 20 | [DllImport("UnityImGuiRenderer")] 21 | public static extern void SendImGuiDrawCommands(ImGuiNET.ImDrawDataPtr ptr); 22 | 23 | private static ImGuiController _controller; 24 | 25 | private void Awake() 26 | { 27 | if (_controller == null) 28 | { 29 | _controller = new ImGuiController(); 30 | } 31 | } 32 | 33 | private void OnApplicationQuit() 34 | { 35 | _controller = null; 36 | } 37 | 38 | private void Start() 39 | { 40 | RegisterDebugCallback(new DebugCallback(DebugMethod)); 41 | StartCoroutine("CallPluginAtEndOfFrames"); 42 | } 43 | 44 | private WaitForEndOfFrame frameWait = new WaitForEndOfFrame(); 45 | private IEnumerator CallPluginAtEndOfFrames() 46 | { 47 | yield return frameWait; 48 | _controller.RecreateFontDeviceTexture(true); 49 | 50 | while (true) 51 | { 52 | //At the end of the frame, have ImGui render before invoking the draw on the GPU. 53 | yield return frameWait; 54 | _controller.Render(); 55 | GL.IssuePluginEvent(GetRenderEventFunc(), 1); 56 | } 57 | } 58 | 59 | private void Update() 60 | { 61 | _controller.Update(); 62 | } 63 | 64 | private static void DebugMethod(string message) 65 | { 66 | Debug.Log("UnityImGuiRenderer: " + message); 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /UnityImGUI/Assets/UnityImGui/Scripts/ImGuiPluginHook.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 931df5ea90a37db4e866ec8ba962a5ec 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: -20100 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityImGUI/Packages/System.Runtime.CompilerServices.Unsafe.4.5.2/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JayPeet/UnityImGUI/ba462388cbfed3afcff62d417d6e6f5fc2457c03/UnityImGUI/Packages/System.Runtime.CompilerServices.Unsafe.4.5.2/.signature.p7s -------------------------------------------------------------------------------- /UnityImGUI/Packages/System.Runtime.CompilerServices.Unsafe.4.5.2/LICENSE.TXT: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) .NET Foundation and Contributors 4 | 5 | All rights reserved. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | -------------------------------------------------------------------------------- /UnityImGUI/Packages/System.Runtime.CompilerServices.Unsafe.4.5.2/System.Runtime.CompilerServices.Unsafe.4.5.2.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JayPeet/UnityImGUI/ba462388cbfed3afcff62d417d6e6f5fc2457c03/UnityImGUI/Packages/System.Runtime.CompilerServices.Unsafe.4.5.2/System.Runtime.CompilerServices.Unsafe.4.5.2.nupkg -------------------------------------------------------------------------------- /UnityImGUI/Packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JayPeet/UnityImGUI/ba462388cbfed3afcff62d417d6e6f5fc2457c03/UnityImGUI/Packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.dll -------------------------------------------------------------------------------- /UnityImGUI/Packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JayPeet/UnityImGUI/ba462388cbfed3afcff62d417d6e6f5fc2457c03/UnityImGUI/Packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll -------------------------------------------------------------------------------- /UnityImGUI/Packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JayPeet/UnityImGUI/ba462388cbfed3afcff62d417d6e6f5fc2457c03/UnityImGUI/Packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll -------------------------------------------------------------------------------- /UnityImGUI/Packages/System.Runtime.CompilerServices.Unsafe.4.5.2/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JayPeet/UnityImGUI/ba462388cbfed3afcff62d417d6e6f5fc2457c03/UnityImGUI/Packages/System.Runtime.CompilerServices.Unsafe.4.5.2/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll -------------------------------------------------------------------------------- /UnityImGUI/Packages/System.Runtime.CompilerServices.Unsafe.4.5.2/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JayPeet/UnityImGUI/ba462388cbfed3afcff62d417d6e6f5fc2457c03/UnityImGUI/Packages/System.Runtime.CompilerServices.Unsafe.4.5.2/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll -------------------------------------------------------------------------------- /UnityImGUI/Packages/System.Runtime.CompilerServices.Unsafe.4.5.2/useSharedDesignerContext.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JayPeet/UnityImGUI/ba462388cbfed3afcff62d417d6e6f5fc2457c03/UnityImGUI/Packages/System.Runtime.CompilerServices.Unsafe.4.5.2/useSharedDesignerContext.txt -------------------------------------------------------------------------------- /UnityImGUI/Packages/System.Runtime.CompilerServices.Unsafe.4.5.2/version.txt: -------------------------------------------------------------------------------- 1 | 02b11eeee1fbc5f3ef43a1452fe07efd25fa1715 2 | -------------------------------------------------------------------------------- /UnityImGUI/Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.collections": "0.7.0-preview.2", 4 | "com.unity.modules.ai": "1.0.0", 5 | "com.unity.modules.androidjni": "1.0.0", 6 | "com.unity.modules.animation": "1.0.0", 7 | "com.unity.modules.assetbundle": "1.0.0", 8 | "com.unity.modules.audio": "1.0.0", 9 | "com.unity.modules.cloth": "1.0.0", 10 | "com.unity.modules.director": "1.0.0", 11 | "com.unity.modules.imageconversion": "1.0.0", 12 | "com.unity.modules.imgui": "1.0.0", 13 | "com.unity.modules.jsonserialize": "1.0.0", 14 | "com.unity.modules.particlesystem": "1.0.0", 15 | "com.unity.modules.physics": "1.0.0", 16 | "com.unity.modules.physics2d": "1.0.0", 17 | "com.unity.modules.screencapture": "1.0.0", 18 | "com.unity.modules.terrain": "1.0.0", 19 | "com.unity.modules.terrainphysics": "1.0.0", 20 | "com.unity.modules.tilemap": "1.0.0", 21 | "com.unity.modules.ui": "1.0.0", 22 | "com.unity.modules.uielements": "1.0.0", 23 | "com.unity.modules.umbra": "1.0.0", 24 | "com.unity.modules.unityanalytics": "1.0.0", 25 | "com.unity.modules.unitywebrequest": "1.0.0", 26 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 27 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 28 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 29 | "com.unity.modules.unitywebrequestwww": "1.0.0", 30 | "com.unity.modules.vehicles": "1.0.0", 31 | "com.unity.modules.video": "1.0.0", 32 | "com.unity.modules.vr": "1.0.0", 33 | "com.unity.modules.wind": "1.0.0", 34 | "com.unity.modules.xr": "1.0.0" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | m_SpeedOfSound: 347 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_DSPBufferSize: 0 12 | -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/BurstAotSettings_StandaloneWindows.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "m_Enabled": true, 4 | "m_EditorHideFlags": 0, 5 | "m_Name": "", 6 | "m_EditorClassIdentifier": "Unity.Burst.Editor:Unity.Burst.Editor:BurstPlatformAotSettings", 7 | "DisableOptimisations": false, 8 | "DisableSafetyChecks": true, 9 | "DisableBurstCompilation": false 10 | } 11 | } -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | m_Gravity: {x: 0, y: -9.81000042, z: 0} 7 | m_DefaultMaterial: {fileID: 0} 8 | m_BounceThreshold: 2 9 | m_SleepVelocity: .150000006 10 | m_SleepAngularVelocity: .140000001 11 | m_MaxAngularVelocity: 7 12 | m_MinPenetrationForPenalty: .00999999978 13 | m_SolverIterationCount: 6 14 | m_RaycastsHitTriggers: 1 15 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 16 | -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/UnityImGui/Scenes/ImGUITest.unity 10 | guid: c159f2591a9b5c843b0a0442451f78f8 11 | m_configObjects: {} 12 | -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 9 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 1 10 | m_DefaultBehaviorMode: 0 11 | m_PrefabRegularEnvironment: {fileID: 0} 12 | m_PrefabUIEnvironment: {fileID: 0} 13 | m_SpritePackerMode: 2 14 | m_SpritePackerPaddingPower: 1 15 | m_EtcTextureCompressorBehavior: 0 16 | m_EtcTextureFastCompressor: 2 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 5 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmref 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInEditMode: 1 24 | m_EnableTextureStreamingInPlayMode: 1 25 | m_AsyncShaderCompilation: 1 26 | m_EnterPlayModeOptionsEnabled: 0 27 | m_EnterPlayModeOptions: 3 28 | m_ShowLightmapResolutionOverlay: 1 29 | m_UseLegacyProbeSampleCount: 1 30 | m_AssetPipelineMode: 1 31 | m_CacheServerMode: 0 32 | m_CacheServerEndpoint: 33 | m_CacheServerNamespacePrefix: default 34 | m_CacheServerEnableDownload: 1 35 | m_CacheServerEnableUpload: 1 36 | -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 12 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0} 40 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} 41 | m_PreloadedShaders: [] 42 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 43 | type: 0} 44 | m_CustomRenderPipeline: {fileID: 0} 45 | m_TransparencySortMode: 0 46 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 47 | m_DefaultRenderingPath: 1 48 | m_DefaultMobileRenderingPath: 1 49 | m_TierSettings: [] 50 | m_LightmapStripping: 0 51 | m_FogStripping: 0 52 | m_InstancingStripping: 0 53 | m_LightmapKeepPlain: 1 54 | m_LightmapKeepDirCombined: 1 55 | m_LightmapKeepDynamicPlain: 1 56 | m_LightmapKeepDynamicDirCombined: 1 57 | m_LightmapKeepShadowMask: 1 58 | m_LightmapKeepSubtractive: 1 59 | m_FogKeepLinear: 1 60 | m_FogKeepExp: 1 61 | m_FogKeepExp2: 1 62 | m_AlbedoSwatchInfos: [] 63 | m_LightsUseLinearIntensity: 0 64 | m_LightsUseColorTemperature: 0 65 | -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshLayers: 5 | m_ObjectHideFlags: 0 6 | Built-in Layer 0: 7 | name: Default 8 | cost: 1 9 | editType: 2 10 | Built-in Layer 1: 11 | name: Not Walkable 12 | cost: 1 13 | editType: 0 14 | Built-in Layer 2: 15 | name: Jump 16 | cost: 2 17 | editType: 2 18 | User Layer 0: 19 | name: 20 | cost: 1 21 | editType: 3 22 | User Layer 1: 23 | name: 24 | cost: 1 25 | editType: 3 26 | User Layer 2: 27 | name: 28 | cost: 1 29 | editType: 3 30 | User Layer 3: 31 | name: 32 | cost: 1 33 | editType: 3 34 | User Layer 4: 35 | name: 36 | cost: 1 37 | editType: 3 38 | User Layer 5: 39 | name: 40 | cost: 1 41 | editType: 3 42 | User Layer 6: 43 | name: 44 | cost: 1 45 | editType: 3 46 | User Layer 7: 47 | name: 48 | cost: 1 49 | editType: 3 50 | User Layer 8: 51 | name: 52 | cost: 1 53 | editType: 3 54 | User Layer 9: 55 | name: 56 | cost: 1 57 | editType: 3 58 | User Layer 10: 59 | name: 60 | cost: 1 61 | editType: 3 62 | User Layer 11: 63 | name: 64 | cost: 1 65 | editType: 3 66 | User Layer 12: 67 | name: 68 | cost: 1 69 | editType: 3 70 | User Layer 13: 71 | name: 72 | cost: 1 73 | editType: 3 74 | User Layer 14: 75 | name: 76 | cost: 1 77 | editType: 3 78 | User Layer 15: 79 | name: 80 | cost: 1 81 | editType: 3 82 | User Layer 16: 83 | name: 84 | cost: 1 85 | editType: 3 86 | User Layer 17: 87 | name: 88 | cost: 1 89 | editType: 3 90 | User Layer 18: 91 | name: 92 | cost: 1 93 | editType: 3 94 | User Layer 19: 95 | name: 96 | cost: 1 97 | editType: 3 98 | User Layer 20: 99 | name: 100 | cost: 1 101 | editType: 3 102 | User Layer 21: 103 | name: 104 | cost: 1 105 | editType: 3 106 | User Layer 22: 107 | name: 108 | cost: 1 109 | editType: 3 110 | User Layer 23: 111 | name: 112 | cost: 1 113 | editType: 3 114 | User Layer 24: 115 | name: 116 | cost: 1 117 | editType: 3 118 | User Layer 25: 119 | name: 120 | cost: 1 121 | editType: 3 122 | User Layer 26: 123 | name: 124 | cost: 1 125 | editType: 3 126 | User Layer 27: 127 | name: 128 | cost: 1 129 | editType: 3 130 | User Layer 28: 131 | name: 132 | cost: 1 133 | editType: 3 134 | -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/NavMeshLayers.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshLayers: 5 | m_ObjectHideFlags: 0 6 | Built-in Layer 0: 7 | name: Default 8 | cost: 1 9 | editType: 2 10 | Built-in Layer 1: 11 | name: Not Walkable 12 | cost: 1 13 | editType: 0 14 | Built-in Layer 2: 15 | name: Jump 16 | cost: 2 17 | editType: 2 18 | User Layer 0: 19 | name: 20 | cost: 1 21 | editType: 3 22 | User Layer 1: 23 | name: 24 | cost: 1 25 | editType: 3 26 | User Layer 2: 27 | name: 28 | cost: 1 29 | editType: 3 30 | User Layer 3: 31 | name: 32 | cost: 1 33 | editType: 3 34 | User Layer 4: 35 | name: 36 | cost: 1 37 | editType: 3 38 | User Layer 5: 39 | name: 40 | cost: 1 41 | editType: 3 42 | User Layer 6: 43 | name: 44 | cost: 1 45 | editType: 3 46 | User Layer 7: 47 | name: 48 | cost: 1 49 | editType: 3 50 | User Layer 8: 51 | name: 52 | cost: 1 53 | editType: 3 54 | User Layer 9: 55 | name: 56 | cost: 1 57 | editType: 3 58 | User Layer 10: 59 | name: 60 | cost: 1 61 | editType: 3 62 | User Layer 11: 63 | name: 64 | cost: 1 65 | editType: 3 66 | User Layer 12: 67 | name: 68 | cost: 1 69 | editType: 3 70 | User Layer 13: 71 | name: 72 | cost: 1 73 | editType: 3 74 | User Layer 14: 75 | name: 76 | cost: 1 77 | editType: 3 78 | User Layer 15: 79 | name: 80 | cost: 1 81 | editType: 3 82 | User Layer 16: 83 | name: 84 | cost: 1 85 | editType: 3 86 | User Layer 17: 87 | name: 88 | cost: 1 89 | editType: 3 90 | User Layer 18: 91 | name: 92 | cost: 1 93 | editType: 3 94 | User Layer 19: 95 | name: 96 | cost: 1 97 | editType: 3 98 | User Layer 20: 99 | name: 100 | cost: 1 101 | editType: 3 102 | User Layer 21: 103 | name: 104 | cost: 1 105 | editType: 3 106 | User Layer 22: 107 | name: 108 | cost: 1 109 | editType: 3 110 | User Layer 23: 111 | name: 112 | cost: 1 113 | editType: 3 114 | User Layer 24: 115 | name: 116 | cost: 1 117 | editType: 3 118 | User Layer 25: 119 | name: 120 | cost: 1 121 | editType: 3 122 | User Layer 26: 123 | name: 124 | cost: 1 125 | editType: 3 126 | User Layer 27: 127 | name: 128 | cost: 1 129 | editType: 3 130 | User Layer 28: 131 | name: 132 | cost: 1 133 | editType: 3 134 | -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_MinPenetrationForPenalty: 0.01 17 | m_BaumgarteScale: 0.2 18 | m_BaumgarteTimeOfImpactScale: 0.75 19 | m_TimeToSleep: 0.5 20 | m_LinearSleepTolerance: 0.01 21 | m_AngularSleepTolerance: 2 22 | m_QueriesHitTriggers: 1 23 | m_QueriesStartInColliders: 1 24 | m_ChangeStopsCallbacks: 0 25 | m_AlwaysShowColliders: 0 26 | m_ShowColliderSleep: 1 27 | m_ShowColliderContacts: 0 28 | m_ContactArrowScale: 0.2 29 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 30 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 31 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 32 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 33 | -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: [] 7 | -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2019.3.11f1 2 | m_EditorVersionWithRevision: 2019.3.11f1 (ceef2d848e70) 3 | -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 0 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Good 11 | pixelLightCount: 2 12 | shadows: 2 13 | shadowResolution: 1 14 | shadowProjection: 1 15 | shadowCascades: 2 16 | shadowDistance: 20 17 | shadowNearPlaneOffset: 2 18 | shadowCascade2Split: 0.33333334 19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 20 | shadowmaskMode: 0 21 | skinWeights: 2 22 | textureQuality: 0 23 | anisotropicTextures: 1 24 | antiAliasing: 0 25 | softParticles: 0 26 | softVegetation: 1 27 | realtimeReflectionProbes: 1 28 | billboardsFaceCameraPosition: 1 29 | vSyncCount: 0 30 | lodBias: 1 31 | maximumLODLevel: 0 32 | streamingMipmapsActive: 0 33 | streamingMipmapsAddAllCameras: 1 34 | streamingMipmapsMemoryBudget: 512 35 | streamingMipmapsRenderersPerFrame: 512 36 | streamingMipmapsMaxLevelReduction: 2 37 | streamingMipmapsMaxFileIORequests: 1024 38 | particleRaycastBudget: 256 39 | asyncUploadTimeSlice: 2 40 | asyncUploadBufferSize: 4 41 | asyncUploadPersistentBuffer: 1 42 | resolutionScalingFixedDPIFactor: 1 43 | excludedTargetPlatforms: [] 44 | m_PerPlatformDefaultQuality: 45 | Android: 0 46 | FlashPlayer: 0 47 | GLES Emulation: 0 48 | PS3: 0 49 | Standalone: 0 50 | Web: 0 51 | Wii: 0 52 | XBOX360: 0 53 | iPhone: 0 54 | -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | tags: 6 | - 7 | Builtin Layer 0: Default 8 | Builtin Layer 1: TransparentFX 9 | Builtin Layer 2: Ignore Raycast 10 | Builtin Layer 3: 11 | Builtin Layer 4: Water 12 | Builtin Layer 5: 13 | Builtin Layer 6: 14 | Builtin Layer 7: 15 | User Layer 8: 16 | User Layer 9: 17 | User Layer 10: 18 | User Layer 11: 19 | User Layer 12: 20 | User Layer 13: 21 | User Layer 14: 22 | User Layer 15: 23 | User Layer 16: 24 | User Layer 17: 25 | User Layer 18: 26 | User Layer 19: 27 | User Layer 20: 28 | User Layer 21: 29 | User Layer 22: 30 | User Layer 23: 31 | User Layer 24: 32 | User Layer 25: 33 | User Layer 26: 34 | User Layer 27: 35 | User Layer 28: 36 | User Layer 29: 37 | User Layer 30: 38 | User Layer 31: 39 | -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: .0199999996 7 | Maximum Allowed Timestep: .333333343 8 | m_TimeScale: 1 9 | -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_TestInitMode: 0 13 | CrashReportingSettings: 14 | m_EventUrl: https://perf-events.cloud.unity3d.com 15 | m_Enabled: 0 16 | m_LogBufferSize: 10 17 | m_CaptureEditorExceptions: 1 18 | UnityPurchasingSettings: 19 | m_Enabled: 0 20 | m_TestMode: 0 21 | UnityAnalyticsSettings: 22 | m_Enabled: 0 23 | m_TestMode: 0 24 | m_InitializeOnStartup: 1 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_RenderPipeSettingsPath: 10 | m_FixedTimeStep: 0.016666668 11 | m_MaxDeltaTime: 0.05 12 | -------------------------------------------------------------------------------- /UnityImGUI/ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } --------------------------------------------------------------------------------