#pragma once #include "CoreMinimal.h" #include "Modules/ModuleManager.h" /** * FLESH Editor Module - Editor tools for the Fully Locational Evisceration System for Humanoids */ class FFLESHEditorModule : public IModuleInterface { public: /** IModuleInterface implementation */ virtual void StartupModule() override; virtual void ShutdownModule() override; /** Singleton getter */ static FFLESHEditorModule& Get() { return FModuleManager::LoadModuleChecked("FLESHEditor"); } /** Open FLESH Editor Command - No parameters version for menu binding */ void OpenFLESHEditorCommand(); /** Open FLESH Editor */ void OpenFLESHEditor(const EToolkitMode::Type Mode, const TSharedPtr& InitToolkitHost, UObject* ObjectToEdit); private: /** Plugin command list */ TSharedPtr PluginCommands; };