// Copyright 2025 https://yuewu.dev/en All Rights Reserved. #include "GenericMovementEditor.h" #include "AssetToolsModule.h" #include "Factories/GMS_AssetTypeActions.h" #define LOCTEXT_NAMESPACE "FGenericMovementEditorModule" TArray> FGenericMovementEditorModule::AssetTypeActions = { MakeShared(), MakeShared(), MakeShared(), MakeShared(), MakeShared(), MakeShared() }; EAssetTypeCategories::Type FGenericMovementEditorModule::AssetsCategory; void FGenericMovementEditorModule::StartupModule() { IAssetTools& AssetTools = FModuleManager::LoadModuleChecked("AssetTools").Get(); AssetsCategory = AssetTools.RegisterAdvancedAssetCategory(FName(TEXT("GenericMovementSystem")), LOCTEXT("GMS_AssetsCategory", "Generic Movement System")); for (TSharedPtr& Action : AssetTypeActions) { AssetTools.RegisterAssetTypeActions(Action.ToSharedRef()); } } void FGenericMovementEditorModule::ShutdownModule() { if (const FAssetToolsModule* AssetTools = FModuleManager::GetModulePtr("AssetTools")) { for (TSharedPtr& Action : AssetTypeActions) { AssetTools->Get().UnregisterAssetTypeActions(Action.ToSharedRef()); } } } #undef LOCTEXT_NAMESPACE IMPLEMENT_MODULE(FGenericMovementEditorModule, GenericMovementEditor)