code
This commit is contained in:
@ -0,0 +1,31 @@
|
||||
using UnrealBuildTool;
|
||||
|
||||
public class OBJPoolEditor : ModuleRules {
|
||||
public OBJPoolEditor(ReadOnlyTargetRules Target) : base(Target) {
|
||||
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
|
||||
PrivatePCHHeaderFile = "Public/OBJPoolEditor.h";
|
||||
IWYUSupport = IWYUSupport.None;
|
||||
//
|
||||
PublicDependencyModuleNames.AddRange(
|
||||
new string[] {
|
||||
"Core",
|
||||
"Engine",
|
||||
"OBJPool",
|
||||
"CoreUObject",
|
||||
"OBJPoolDeveloper"
|
||||
}
|
||||
);
|
||||
//
|
||||
PrivateDependencyModuleNames.AddRange(
|
||||
new string[] {
|
||||
"Slate",
|
||||
"Projects",
|
||||
"UnrealEd",
|
||||
"SlateCore",
|
||||
"AssetTools",
|
||||
"EditorStyle",
|
||||
"LevelEditor"
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////
|
||||
/// Copyright 2019 (C) Bruno Xavier B. Leite
|
||||
//////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "IOBJPoolEditor.h"
|
||||
#include "OBJPoolEditor.h"
|
||||
#include "OBJPoolStyle.h"
|
||||
|
||||
#include "OBJPoolEditor_Shared.h"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define LOCTEXT_NAMESPACE "Synaptech"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void OBJPoolEditor::StartupModule() {
|
||||
FOBJPoolStyle::Initialize();
|
||||
//
|
||||
IAssetTools &AssetTools = FModuleManager::LoadModuleChecked<FAssetToolsModule>("AssetTools").Get();
|
||||
SY_AssetCategory = AssetTools.RegisterAdvancedAssetCategory(FName(TEXT("Synaptech")),LOCTEXT("SynaptechCategory","Synaptech"));
|
||||
//
|
||||
{
|
||||
TSharedRef<IAssetTypeActions> ACT_OBJP = MakeShareable(new FATA_OBJP); AssetTools.RegisterAssetTypeActions(ACT_OBJP);
|
||||
TSharedRef<IAssetTypeActions> ACT_PWP = MakeShareable(new FATA_PWP); AssetTools.RegisterAssetTypeActions(ACT_PWP);
|
||||
TSharedRef<IAssetTypeActions> ACT_CHP = MakeShareable(new FATA_CHP); AssetTools.RegisterAssetTypeActions(ACT_CHP);
|
||||
TSharedRef<IAssetTypeActions> ACT_SHP = MakeShareable(new FATA_SHP); AssetTools.RegisterAssetTypeActions(ACT_SHP);
|
||||
}
|
||||
}
|
||||
|
||||
void OBJPoolEditor::ShutdownModule() {
|
||||
FOBJPoolStyle::Shutdown();
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#undef LOCTEXT_NAMESPACE
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
IMPLEMENT_MODULE(OBJPoolEditor,OBJPoolEditor);
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
@ -0,0 +1,89 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////
|
||||
/// Copyright 2019 (C) Bruno Xavier B. Leite
|
||||
//////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "OBJPoolEditor.h"
|
||||
#include "OBJPoolEditor_Shared.h"
|
||||
#include "Kismet2/KismetEditorUtilities.h"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define LOCTEXT_NAMESPACE "Synaptech"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
UOBJPoolFactory::UOBJPoolFactory(const class FObjectInitializer &OBJ) : Super(OBJ) {
|
||||
SupportedClass = UObjectPool::StaticClass();
|
||||
bEditAfterNew = true;
|
||||
bCreateNew = true;
|
||||
}
|
||||
|
||||
UObject* UOBJPoolFactory::FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) {
|
||||
check(Class->IsChildOf(UObjectPool::StaticClass()));
|
||||
return FKismetEditorUtilities::CreateBlueprint(Class,InParent,Name,BPTYPE_Normal,UBlueprint::StaticClass(),UBlueprintGeneratedClass::StaticClass(),TEXT("AssetTypeActions"));
|
||||
}
|
||||
|
||||
FText FATA_OBJP::GetAssetDescription(const FAssetData &AssetData) const {
|
||||
return FText::FromString(FString(TEXT("Blueprintable Object-Pool Component.")));
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
UPWPoolFactory::UPWPoolFactory(const class FObjectInitializer &OBJ) : Super(OBJ) {
|
||||
SupportedClass = UPawnPool::StaticClass();
|
||||
bEditAfterNew = true;
|
||||
bCreateNew = true;
|
||||
}
|
||||
|
||||
UObject* UPWPoolFactory::FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) {
|
||||
check(Class->IsChildOf(UPawnPool::StaticClass()));
|
||||
return FKismetEditorUtilities::CreateBlueprint(Class,InParent,Name,BPTYPE_Normal,UBlueprint::StaticClass(),UBlueprintGeneratedClass::StaticClass(),TEXT("AssetTypeActions"));
|
||||
}
|
||||
|
||||
FText FATA_PWP::GetAssetDescription(const FAssetData &AssetData) const {
|
||||
return FText::FromString(FString(TEXT("Blueprintable Pawn Object-Pool Component.")));
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
UCHPoolFactory::UCHPoolFactory(const class FObjectInitializer &OBJ) : Super(OBJ) {
|
||||
SupportedClass = UCharacterPool::StaticClass();
|
||||
bEditAfterNew = true;
|
||||
bCreateNew = true;
|
||||
}
|
||||
|
||||
UObject* UCHPoolFactory::FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) {
|
||||
check(Class->IsChildOf(UCharacterPool::StaticClass()));
|
||||
return FKismetEditorUtilities::CreateBlueprint(Class,InParent,Name,BPTYPE_Normal,UBlueprint::StaticClass(),UBlueprintGeneratedClass::StaticClass(),TEXT("AssetTypeActions"));
|
||||
}
|
||||
|
||||
FText FATA_CHP::GetAssetDescription(const FAssetData &AssetData) const {
|
||||
return FText::FromString(FString(TEXT("Blueprintable Character Object-Pool Component.")));
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
USHPoolFactory::USHPoolFactory(const class FObjectInitializer &OBJ) : Super(OBJ) {
|
||||
SupportedClass = USharedObjectPool::StaticClass();
|
||||
bEditAfterNew = true;
|
||||
bCreateNew = true;
|
||||
}
|
||||
|
||||
UObject* USHPoolFactory::FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) {
|
||||
check(Class->IsChildOf(USharedObjectPool::StaticClass()));
|
||||
return FKismetEditorUtilities::CreateBlueprint(Class,InParent,Name,BPTYPE_Normal,UBlueprint::StaticClass(),UBlueprintGeneratedClass::StaticClass(),TEXT("AssetTypeActions"));
|
||||
}
|
||||
|
||||
FText FATA_SHP::GetAssetDescription(const FAssetData &AssetData) const {
|
||||
return FText::FromString(FString(TEXT("Blueprintable Shared-Pool Component.")));
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#undef LOCTEXT_NAMESPACE
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
@ -0,0 +1,75 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////
|
||||
/// Copyright 2019 (C) Bruno Xavier B. Leite
|
||||
//////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "OBJPoolStyle.h"
|
||||
#include "Styling/SlateStyle.h"
|
||||
#include "OBJPoolEditor_Shared.h"
|
||||
#include "Interfaces/IPluginManager.h"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define PLUGIN_BRUSH(RelativePath,...) FSlateImageBrush(FOBJPoolStyle::InContent(RelativePath,TEXT(".png")),__VA_ARGS__)
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
TSharedPtr<FSlateStyleSet> FOBJPoolStyle::StyleSet = nullptr;
|
||||
TSharedPtr<ISlateStyle> FOBJPoolStyle::Get() {return StyleSet;}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
FString FOBJPoolStyle::InContent(const FString &RelativePath, const TCHAR* Extension) {
|
||||
static FString Content = IPluginManager::Get().FindPlugin(TEXT("ObjectPool"))->GetContentDir();
|
||||
return (Content/RelativePath)+Extension;
|
||||
}
|
||||
|
||||
FName FOBJPoolStyle::GetStyleSetName() {
|
||||
static FName StyleName(TEXT("OBJPoolStyle"));
|
||||
return StyleName;
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void FOBJPoolStyle::Initialize() {
|
||||
if (StyleSet.IsValid()) {return;}
|
||||
//
|
||||
const FVector2D Icon16x16(16.f,16.f);
|
||||
const FVector2D Icon128x128(128.f,128.f);
|
||||
//
|
||||
StyleSet = MakeShareable(new FSlateStyleSet(GetStyleSetName()));
|
||||
StyleSet->SetContentRoot(IPluginManager::Get().FindPlugin(TEXT("ObjectPool"))->GetContentDir());
|
||||
//
|
||||
StyleSet->Set("ClassIcon.PawnPool", new PLUGIN_BRUSH(TEXT("Icons/Pawn_16x"),Icon16x16));
|
||||
StyleSet->Set("ClassIcon.ObjectPool", new PLUGIN_BRUSH(TEXT("Icons/Pool_16x"),Icon16x16));
|
||||
StyleSet->Set("ClassIcon.CharacterPool", new PLUGIN_BRUSH(TEXT("Icons/Character_16x"),Icon16x16));
|
||||
StyleSet->Set("ClassIcon.SharedObjectPool", new PLUGIN_BRUSH(TEXT("Icons/Shared_16x"),Icon16x16));
|
||||
StyleSet->Set("ClassIcon.PooledProjectile", new PLUGIN_BRUSH(TEXT("Icons/Projectile_16x"),Icon16x16));
|
||||
StyleSet->Set("ClassIcon.PooledSplineProjectile", new PLUGIN_BRUSH(TEXT("Icons/SplineProjectile_16x"),Icon16x16));
|
||||
//
|
||||
StyleSet->Set("ClassThumbnail.PawnPool", new PLUGIN_BRUSH(TEXT("Icons/Pawn_128x"),Icon128x128));
|
||||
StyleSet->Set("ClassThumbnail.ObjectPool", new PLUGIN_BRUSH(TEXT("Icons/Pool_128x"),Icon128x128));
|
||||
StyleSet->Set("ClassThumbnail.CharacterPool", new PLUGIN_BRUSH(TEXT("Icons/Character_128x"),Icon128x128));
|
||||
StyleSet->Set("ClassThumbnail.SharedObjectPool", new PLUGIN_BRUSH(TEXT("Icons/Shared_128x"),Icon128x128));
|
||||
StyleSet->Set("ClassThumbnail.PooledProjectile", new PLUGIN_BRUSH(TEXT("Icons/Projectile_128x"),Icon128x128));
|
||||
StyleSet->Set("ClassThumbnail.PooledSplineProjectile", new PLUGIN_BRUSH(TEXT("Icons/SplineProjectile_128x"),Icon128x128));
|
||||
//
|
||||
FSlateStyleRegistry::RegisterSlateStyle(*StyleSet.Get());
|
||||
};
|
||||
|
||||
void FOBJPoolStyle::Shutdown() {
|
||||
if (StyleSet.IsValid()) {
|
||||
FSlateStyleRegistry::UnRegisterSlateStyle(*StyleSet.Get());
|
||||
ensure(StyleSet.IsUnique());
|
||||
StyleSet.Reset();
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#undef PLUGIN_BRUSH
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
@ -0,0 +1,28 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////
|
||||
/// Copyright 2019 (C) Bruno Xavier B. Leite
|
||||
//////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Runtime/SlateCore/Public/Styling/SlateStyleRegistry.h"
|
||||
#include "Runtime/SlateCore/Public/Styling/SlateStyle.h"
|
||||
#include "Editor/UnrealEd/Public/ClassIconFinder.h"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class FOBJPoolStyle {
|
||||
private:
|
||||
static TSharedPtr<FSlateStyleSet> StyleSet;
|
||||
static FString InContent(const FString &RelativePath, const TCHAR* Extension);
|
||||
public:
|
||||
static void Initialize();
|
||||
static void Shutdown();
|
||||
static FName GetStyleSetName();
|
||||
static TSharedPtr<ISlateStyle> Get();
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
@ -0,0 +1,44 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////
|
||||
/// Copyright 2019 (C) Bruno Xavier B. Leite
|
||||
//////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Modules/ModuleManager.h"
|
||||
#include "IDetailCustomization.h"
|
||||
#include "IPropertyChangeListener.h"
|
||||
|
||||
#if WITH_EDITORONLY_DATA
|
||||
#include "ISettingsModule.h"
|
||||
#include "ISettingsSection.h"
|
||||
#include "ISettingsContainer.h"
|
||||
#endif
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define LOCTEXT_NAMESPACE "Synaptech"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class IOBJPoolEditor : public IModuleInterface {
|
||||
public:
|
||||
static inline IOBJPoolEditor &Get() {return FModuleManager::LoadModuleChecked<IOBJPoolEditor>("OBJPoolEditor");}
|
||||
static inline bool IsAvailable() {return FModuleManager::Get().IsModuleLoaded("OBJPoolEditor");}
|
||||
};
|
||||
|
||||
class OBJPoolEditor : public IOBJPoolEditor {
|
||||
public:
|
||||
virtual void StartupModule() override;
|
||||
virtual void ShutdownModule() override;
|
||||
virtual bool SupportsDynamicReloading() override {return true;}
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#undef LOCTEXT_NAMESPACE
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
109
Plugins/ObjectPool/Source/OBJPoolEditor/Public/OBJPoolEditor.h
Normal file
109
Plugins/ObjectPool/Source/OBJPoolEditor/Public/OBJPoolEditor.h
Normal file
@ -0,0 +1,109 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////
|
||||
/// Copyright 2019 (C) Bruno Xavier B. Leite
|
||||
//////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "OBJPool.h"
|
||||
#include "AssetTypeActions_Base.h"
|
||||
#include "Editor/UnrealEd/Classes/Factories/Factory.h"
|
||||
|
||||
#include "OBJPoolEditor.generated.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define LOCTEXT_NAMESPACE "Synaptech"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
UCLASS()
|
||||
class OBJPOOLEDITOR_API UOBJPoolFactory : public UFactory {
|
||||
GENERATED_UCLASS_BODY()
|
||||
protected:
|
||||
virtual bool IsMacroFactory() const { return false; }
|
||||
public:
|
||||
virtual UObject* FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) override;
|
||||
};
|
||||
|
||||
UCLASS()
|
||||
class OBJPOOLEDITOR_API UPWPoolFactory : public UFactory {
|
||||
GENERATED_UCLASS_BODY()
|
||||
protected:
|
||||
virtual bool IsMacroFactory() const { return false; }
|
||||
public:
|
||||
virtual UObject* FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) override;
|
||||
};
|
||||
|
||||
UCLASS()
|
||||
class OBJPOOLEDITOR_API UCHPoolFactory : public UFactory {
|
||||
GENERATED_UCLASS_BODY()
|
||||
protected:
|
||||
virtual bool IsMacroFactory() const { return false; }
|
||||
public:
|
||||
virtual UObject* FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) override;
|
||||
};
|
||||
|
||||
UCLASS()
|
||||
class OBJPOOLEDITOR_API USHPoolFactory : public UFactory {
|
||||
GENERATED_UCLASS_BODY()
|
||||
protected:
|
||||
virtual bool IsMacroFactory() const { return false; }
|
||||
public:
|
||||
virtual UObject* FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) override;
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static EAssetTypeCategories::Type SY_AssetCategory;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class FATA_OBJP : public FAssetTypeActions_Base {
|
||||
public:
|
||||
virtual uint32 GetCategories() override { return SY_AssetCategory; }
|
||||
virtual FText GetName() const override { return NSLOCTEXT("AssetTypeActions","FATA_OBJP","Object Pool"); }
|
||||
virtual UClass* GetSupportedClass() const override { return UObjectPool::StaticClass(); }
|
||||
virtual FColor GetTypeColor() const override { return FColor(27,190,27); }
|
||||
//
|
||||
virtual FText GetAssetDescription(const FAssetData &AssetData) const override;
|
||||
};
|
||||
|
||||
class FATA_PWP : public FAssetTypeActions_Base {
|
||||
public:
|
||||
virtual uint32 GetCategories() override { return SY_AssetCategory; }
|
||||
virtual FText GetName() const override { return NSLOCTEXT("AssetTypeActions","FATA_PWP","Pawn Pool"); }
|
||||
virtual UClass* GetSupportedClass() const override { return UPawnPool::StaticClass(); }
|
||||
virtual FColor GetTypeColor() const override { return FColor(190,27,27); }
|
||||
//
|
||||
virtual FText GetAssetDescription(const FAssetData &AssetData) const override;
|
||||
};
|
||||
|
||||
class FATA_CHP : public FAssetTypeActions_Base {
|
||||
public:
|
||||
virtual uint32 GetCategories() override { return SY_AssetCategory; }
|
||||
virtual FText GetName() const override { return NSLOCTEXT("AssetTypeActions","FATA_CHP","Character Pool"); }
|
||||
virtual UClass* GetSupportedClass() const override { return UCharacterPool::StaticClass(); }
|
||||
virtual FColor GetTypeColor() const override { return FColor(27,27,190); }
|
||||
//
|
||||
virtual FText GetAssetDescription(const FAssetData &AssetData) const override;
|
||||
};
|
||||
|
||||
class FATA_SHP : public FAssetTypeActions_Base {
|
||||
public:
|
||||
virtual uint32 GetCategories() override { return SY_AssetCategory; }
|
||||
virtual FText GetName() const override { return NSLOCTEXT("AssetTypeActions","FATA_SHP","Shared Pool"); }
|
||||
virtual UClass* GetSupportedClass() const override { return USharedObjectPool::StaticClass(); }
|
||||
virtual FColor GetTypeColor() const override { return FColor(255,255,255); }
|
||||
//
|
||||
virtual FText GetAssetDescription(const FAssetData &AssetData) const override;
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#undef LOCTEXT_NAMESPACE
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
@ -0,0 +1,15 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////
|
||||
/// Copyright 2019 (C) Bruno Xavier B. Leite
|
||||
//////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "UObject/Object.h"
|
||||
#include "UObject/WeakObjectPtr.h"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
Reference in New Issue
Block a user