You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit af2a834
Browse filesBrowse the repository at this point in the historyBrowse files
-**IImGuiRenderer** interface — swap between EGL, Vulkan backends
57
93
-**CoreCLR args** — pass `string[]` from Java to managed `Entry(int, IntPtr)`
58
94
95
+
## API Reference
96
+
97
+
### Mod Entry Point
98
+
99
+
| Interface | Method | Description |
100
+
|-----------|--------|-------------|
101
+
|`IModPlugin`|`OnLoad()`| Called when mod is loaded |
102
+
||`OnUnload()`| Called when mod is unloaded |
103
+
||`OnBackgroundGUI(ImDrawListPtr)`| Draw behind ImGui windows (watermark) |
104
+
||`OnForegroundGUI(ImDrawListPtr)`| Draw above ImGui windows (HUD) |
105
+
|`IModSettings`|`OnGui()`| Draw custom settings tab in ModManager |
106
+
107
+
### Hooks
108
+
109
+
| Attribute | Target | Description |
110
+
|-----------|--------|-------------|
111
+
|`[UnmanagedHook("dll", "class", "method")]`|`static bool/nvoid Method(nint thiz, ...)`| Hooks a game method, replaces it with your implementation. Define `MethodOriginal` for calling the original. |
112
+
113
+
### Stubs (Typed Game Object Wrappers)
114
+
115
+
| Base Class | Description |
116
+
|------------|-------------|
117
+
|`UnmanagedObject`| Wraps `nint` pointer, provides `Obj` field for runtime access. Subclass to type-safe game object access. |
118
+
|`Wrap<T>(nint ptr)`| Returns a typed stub wrapping the given pointer. |
0 commit comments