diff --git a/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish.dll b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish.dll index 85788da..69d7a0a 100644 Binary files a/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish.dll and b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish.dll differ diff --git a/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFishEditor.dll b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFishEditor.dll index b09fc03..fd9a355 100644 Binary files a/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFishEditor.dll and b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFishEditor.dll differ diff --git a/ProjectFish/Source/ProjectFishEditor/Private/AssetActions/FishInfoAssetAction.cpp b/ProjectFish/Source/ProjectFishEditor/Private/AssetActions/FishInfoAssetAction.cpp new file mode 100644 index 0000000..ae912e1 --- /dev/null +++ b/ProjectFish/Source/ProjectFishEditor/Private/AssetActions/FishInfoAssetAction.cpp @@ -0,0 +1,16 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "AssetActions/FishInfoAssetAction.h" + +#include "ProjectFish/DataAsset/FishInfoConfigAsset.h" + + +UClass* FFishInfoAssetAction::GetSupportedClass() const +{ + return UFishInfoConfigAsset::StaticClass(); +} + +uint32 FFishInfoAssetAction::GetCategories() +{ + return MyAssetCategory; +} diff --git a/ProjectFish/Source/ProjectFishEditor/Private/ProjectFishEditor.cpp b/ProjectFish/Source/ProjectFishEditor/Private/ProjectFishEditor.cpp index 0ba8beb..351a045 100644 --- a/ProjectFish/Source/ProjectFishEditor/Private/ProjectFishEditor.cpp +++ b/ProjectFish/Source/ProjectFishEditor/Private/ProjectFishEditor.cpp @@ -11,6 +11,7 @@ #include "ProjectFish/DataAsset/BagConfigAsset.h" #include "../Public/Thumbnail/ShapeAssetThumbnailRenderer.h" #include "../Public/Thumbnail/BagConfigThumbnailRenderer.h" +#include "AssetActions/FishInfoAssetAction.h" #define LOCTEXT_NAMESPACE "FProjectFishEditorModule" @@ -64,6 +65,11 @@ void FProjectFishEditorModule::RegisterAssetTypeActions() TSharedRef QuestAssetAction = MakeShareable(new FQuestAssetTypeAction(BogShapeAssetCategory)); AssetTools.RegisterAssetTypeActions(QuestAssetAction); CreatedAssetTypeActions.Add(QuestAssetAction); + + //注册鱼类配置资源菜单 + TSharedRef FishInfoAssetAction = MakeShareable(new FFishInfoAssetAction(BogShapeAssetCategory)); + AssetTools.RegisterAssetTypeActions(FishInfoAssetAction); + CreatedAssetTypeActions.Add(FishInfoAssetAction); } void FProjectFishEditorModule::UnregisterAssetTypeActions() diff --git a/ProjectFish/Source/ProjectFishEditor/Public/AssetActions/FishInfoAssetAction.h b/ProjectFish/Source/ProjectFishEditor/Public/AssetActions/FishInfoAssetAction.h new file mode 100644 index 0000000..135bb16 --- /dev/null +++ b/ProjectFish/Source/ProjectFishEditor/Public/AssetActions/FishInfoAssetAction.h @@ -0,0 +1,27 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "AssetTypeActions_Base.h" + +/** + * 任务资产类型动作 + */ +class PROJECTFISHEDITOR_API FFishInfoAssetAction : public FAssetTypeActions_Base +{ +public: + FFishInfoAssetAction(EAssetTypeCategories::Type InAssetCategory) + : MyAssetCategory(InAssetCategory) + { + } + + virtual FText GetName() const override { return FText::FromString("FishInfo Asset"); } + virtual FColor GetTypeColor() const override { return FColor(255, 215, 0); } // 金色 + virtual UClass* GetSupportedClass() const override; + virtual uint32 GetCategories() override; + virtual bool CanFilter() override { return true; } + +private: + EAssetTypeCategories::Type MyAssetCategory; +};