code
This commit is contained in:
@ -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