24typedef void (*MenuCallback)(
void* userData);
30typedef void (*WindowDrawCallback)(
void* userData);
37typedef void (*InspectorDrawCallback)(
void* node,
void* userData);
43typedef void (*EventCallback)(
void* userData);
50typedef void (*StringEventCallback)(
const char* str,
void* userData);
57typedef void (*PlatformEventCallback)(int32_t platform,
void* userData);
65typedef void (*PackageFinishedCallback)(int32_t platform,
bool success,
void* userData);
72typedef void (*PlayModeCallback)(int32_t state,
void* userData);
80typedef void (*TopLevelMenuDrawCallback)(
void* userData);
88typedef void (*ToolbarDrawCallback)(
void* userData);
95typedef bool (*MenuValidationCallback)(
void* userData);
102typedef void (*MenuSectionDrawCallback)(
void* parentNode,
void* userData);
112typedef void (*ViewportOverlayCallback)(
float viewportX,
float viewportY,
float viewportW,
float viewportH,
void* userData);
118typedef void (*PreferencesPanelDrawCallback)(
void* userData);
124typedef void (*PreferencesLoadCallback)(
void* userData);
125typedef void (*PreferencesSaveCallback)(
void* userData);
131typedef void (*ShortcutCallback)(
void* userData);
141typedef bool (*PropertyDrawCallback)(
const char* propertyName,
void* propertyOwner, int32_t propertyType,
void* userData);
152typedef void (*HierarchyItemGUICallback)(
void* node,
float rowX,
float rowY,
float rowW,
float rowH,
void* userData);
164typedef void (*AssetItemGUICallback)(
const char* assetName,
const char* assetType,
float rowX,
float rowY,
float rowW,
float rowH,
void* userData);
172typedef void (*HierarchyChangedCallback)(int32_t changeType,
void* node,
void* userData);
182typedef bool (*DragDropHandlerCallback)(
const char* payloadType,
const void* payloadData, int32_t payloadSize,
void* userData);
191typedef bool (*AssetImportCallback)(
const char* filePath,
const char* extension,
void* userData);
199typedef bool (*PreImportCallback)(
const char* filePath,
void* userData);
207typedef bool (*PreBuildCallback)(int32_t platform,
void* userData);
214typedef void (*EditorModeCallback)(int32_t newMode,
void* userData);
221typedef void (*GizmoToolDrawCallback)(
void* selectedNode,
void* userData);
227typedef void (*PlayTargetCallback)(
void* userData);
239typedef void (*SceneCreationCallback)(
const char* sceneName,
void* rootNode,
void* userData);
252typedef void (*ControllerRouteCallback)(
const char* method,
const char* path,
const char* body,
char* responseBuffer, int32_t bufferSize,
void* userData);
259typedef void (*ControllerServerEventCallback)(int32_t state,
void* userData);
267typedef uint64_t HookId;
291 const char* menuPath,
292 const char* itemPath,
293 MenuCallback callback,
304 void (*AddMenuSeparator)(HookId hookId,
const char* menuPath);
313 void (*RemoveMenuItem)(HookId hookId,
const char* menuPath,
const char* itemPath);
326 void (*RegisterWindow)(
328 const char* windowName,
329 const char* windowId,
330 WindowDrawCallback drawFunc,
340 void (*UnregisterWindow)(HookId hookId,
const char* windowId);
346 void (*OpenWindow)(
const char* windowId);
352 void (*CloseWindow)(
const char* windowId);
359 bool (*IsWindowOpen)(
const char* windowId);
371 void (*RegisterInspector)(
373 const char* nodeTypeName,
374 InspectorDrawCallback drawFunc,
384 void (*UnregisterInspector)(HookId hookId,
const char* nodeTypeName);
396 void (*AddNodeContextItem)(
398 const char* itemPath,
399 MenuCallback callback,
412 void (*AddAssetContextItem)(
414 const char* itemPath,
415 const char* assetTypeFilter,
416 MenuCallback callback,
433 void (*AddTopLevelMenuItem)(HookId hookId,
const char* menuName,
434 TopLevelMenuDrawCallback drawFunc,
void* userData);
441 void (*RemoveTopLevelMenuItem)(HookId hookId,
const char* menuName);
452 void (*AddToolbarItem)(HookId hookId,
const char* itemName,
453 ToolbarDrawCallback drawFunc,
void* userData);
460 void (*RemoveToolbarItem)(HookId hookId,
const char* itemName);
465 void (*RegisterOnProjectOpen)(HookId hookId, StringEventCallback cb,
void* userData);
468 void (*RegisterOnProjectClose)(HookId hookId, StringEventCallback cb,
void* userData);
471 void (*RegisterOnProjectSave)(HookId hookId, StringEventCallback cb,
void* userData);
476 void (*RegisterOnSceneOpen)(HookId hookId, StringEventCallback cb,
void* userData);
479 void (*RegisterOnSceneClose)(HookId hookId, StringEventCallback cb,
void* userData);
484 void (*RegisterOnPackageStarted)(HookId hookId, PlatformEventCallback cb,
void* userData);
487 void (*RegisterOnPackageFinished)(HookId hookId, PackageFinishedCallback cb,
void* userData);
492 void (*RegisterOnSelectionChanged)(HookId hookId, EventCallback cb,
void* userData);
495 void (*RegisterOnPlayModeChanged)(HookId hookId, PlayModeCallback cb,
void* userData);
498 void (*RegisterOnEditorShutdown)(HookId hookId, EventCallback cb,
void* userData);
503 void (*RegisterOnAssetImported)(HookId hookId, StringEventCallback cb,
void* userData);
506 void (*RegisterOnAssetDeleted)(HookId hookId, StringEventCallback cb,
void* userData);
509 void (*RegisterOnAssetSaved)(HookId hookId, StringEventCallback cb,
void* userData);
514 void (*RegisterOnAssetOpen)(HookId hookId, StringEventCallback cb,
void* userData);
517 void (*RegisterOnAssetOpened)(HookId hookId, StringEventCallback cb,
void* userData);
522 void (*RegisterOnUndoRedo)(HookId hookId, EventCallback cb,
void* userData);
527 void (*RegisterOnAssetDropHierarchy)(HookId hookId, StringEventCallback cb,
void* userData);
530 void (*RegisterOnAssetDropViewport)(HookId hookId, StringEventCallback cb,
void* userData);
542 void (*AddTopLevelMenuItemEx)(
544 const char* menuName,
545 TopLevelMenuDrawCallback drawFunc,
560 void (*AddMenuItemEx)(
562 const char* menuPath,
563 const char* itemPath,
564 MenuCallback callback,
566 const char* shortcut,
567 MenuValidationCallback validateFunc
579 void (*AddNodeMenuItems)(HookId hookId,
const char* category, MenuSectionDrawCallback drawFunc,
void* userData);
582 void (*RemoveNodeMenuItems)(HookId hookId,
const char* category);
590 void (*AddCreateAssetItems)(HookId hookId, MenuSectionDrawCallback drawFunc,
void* userData);
593 void (*RemoveCreateAssetItems)(HookId hookId);
601 void (*AddSpawnBasic3dItems)(HookId hookId, MenuSectionDrawCallback drawFunc,
void* userData);
609 void (*AddSpawnBasicWidgetItems)(HookId hookId, MenuSectionDrawCallback drawFunc,
void* userData);
624 void (*RegisterSceneType)(HookId hookId,
const char* typeName, SceneCreationCallback createFunc,
void* userData);
627 void (*UnregisterSceneType)(HookId hookId,
const char* typeName);
638 void (*AddViewportContextItem)(HookId hookId,
const char* itemPath, MenuCallback callback,
void* userData);
641 void (*RemoveViewportContextItem)(HookId hookId,
const char* itemPath);
650 void (*RegisterViewportOverlay)(HookId hookId,
const char* overlayName, ViewportOverlayCallback drawFunc,
void* userData);
653 void (*UnregisterViewportOverlay)(HookId hookId,
const char* overlayName);
667 void (*RegisterPreferencesPanel)(
669 const char* panelName,
670 const char* panelCategory,
671 PreferencesPanelDrawCallback drawFunc,
672 PreferencesLoadCallback loadFunc,
673 PreferencesSaveCallback saveFunc,
678 void (*UnregisterPreferencesPanel)(HookId hookId,
const char* panelName);
691 void (*RegisterShortcut)(
693 const char* shortcutId,
694 const char* displayName,
695 const char* defaultBinding,
696 ShortcutCallback callback,
701 void (*UnregisterShortcut)(HookId hookId,
const char* shortcutId);
712 void (*RegisterPropertyDrawer)(HookId hookId,
const char* propertyTypeName, PropertyDrawCallback drawFunc,
void* userData);
715 void (*UnregisterPropertyDrawer)(HookId hookId,
const char* propertyTypeName);
723 void (*RegisterHierarchyItemGUI)(HookId hookId, HierarchyItemGUICallback drawFunc,
void* userData);
726 void (*UnregisterHierarchyItemGUI)(HookId hookId);
732 void (*RegisterAssetItemGUI)(HookId hookId, AssetItemGUICallback drawFunc,
void* userData);
735 void (*UnregisterAssetItemGUI)(HookId hookId);
741 void (*RegisterOnHierarchyChanged)(HookId hookId, HierarchyChangedCallback cb,
void* userData);
746 void (*AddSceneTabContextItem)(HookId hookId,
const char* itemPath, MenuCallback callback,
void* userData);
749 void (*AddDebugLogContextItem)(HookId hookId,
const char* itemPath, MenuCallback callback,
void* userData);
752 void (*AddImportMenuItem)(HookId hookId,
const char* itemPath, MenuCallback callback,
void* userData);
755 void (*AddAddonsMenuItem)(HookId hookId,
const char* itemPath, MenuCallback callback,
void* userData);
765 void (*AddPlayTarget)(HookId hookId,
const char* targetName,
const char* iconText, PlayTargetCallback callback,
void* userData);
768 void (*RemovePlayTarget)(HookId hookId,
const char* targetName);
779 void (*RegisterDragDropHandler)(HookId hookId,
const char* targetArea, DragDropHandlerCallback handler,
void* userData);
788 void (*RegisterAssetImporter)(HookId hookId,
const char* extension, AssetImportCallback importFunc,
void* userData);
791 void (*UnregisterAssetImporter)(HookId hookId,
const char* extension);
794 void (*RegisterOnPreAssetImport)(HookId hookId, PreImportCallback cb,
void* userData);
797 void (*RegisterOnPostAssetImport)(HookId hookId, StringEventCallback cb,
void* userData);
802 void (*RegisterOnPreBuild)(HookId hookId, PreBuildCallback cb,
void* userData);
805 void (*RegisterOnPostBuild)(HookId hookId, PackageFinishedCallback cb,
void* userData);
808 void (*RegisterOnEditorModeChanged)(HookId hookId, EditorModeCallback cb,
void* userData);
819 void (*RegisterGizmoTool)(
821 const char* toolName,
822 const char* iconText,
824 GizmoToolDrawCallback drawFunc,
829 void (*UnregisterGizmoTool)(HookId hookId,
const char* toolName);
840 void (*AddGamePreviewResolution)(HookId hookId,
const char* name, uint32_t width, uint32_t height);
847 void (*RemoveGamePreviewResolution)(HookId hookId,
const char* name);
859 void (*RegisterControllerRoute)(HookId hookId,
const char* method,
const char* path, ControllerRouteCallback callback,
void* userData);
866 void (*UnregisterControllerRoute)(HookId hookId,
const char* path);
874 void (*RegisterOnControllerServerStateChanged)(HookId hookId, ControllerServerEventCallback callback,
void* userData);
886 void (*RegisterProfilingStat)(HookId hookId,
const char* statName,
const char* category,
float maxValue,
bool showAsBar);
893 void (*UnregisterProfilingStat)(HookId hookId,
const char* statName);
901 void (*SetProfilingStatValue)(
const char* statName,
float value);
907 typedef void (*ProfilingSectionDrawCallback)(
void* userData);
917 void (*RegisterProfilingSection)(HookId hookId,
const char* sectionName, void (*drawFunc)(
void*),
void* userData);
924 void (*UnregisterProfilingSection)(HookId hookId,
const char* sectionName);
935 void (*RemoveAllHooks)(HookId hookId);
947HookId GenerateHookId(
const char* identifier);