Editor toling to easier create data assets
This commit is contained in:
@@ -0,0 +1,238 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Factories/Factory.h"
|
||||
|
||||
#include "EleriDataAssetFactories.generated.h"
|
||||
|
||||
/**
|
||||
* The factories behind the data asset types the Eleri category offers, one per type.
|
||||
*
|
||||
* A factory is what puts a type into the Content Browser's Add menu, and the engine files it there by
|
||||
* asking the asset definition of the class it supports where that class belongs, so a factory only has
|
||||
* to name the class it makes. It also hands back the EAssetTypeCategories bit for the Eleri category,
|
||||
* which is what the older Content Browser style groups the Add menu by, so the group holds together
|
||||
* whichever of the two styles is in use.
|
||||
*
|
||||
* These only ever create the class they are named after. There is nothing to configure, so the factory
|
||||
* goes straight to creating the asset as soon as it is picked.
|
||||
*/
|
||||
UCLASS(Abstract)
|
||||
class UEleriDataAssetFactory : public UFactory
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UEleriDataAssetFactory(const FObjectInitializer& ObjectInitializer);
|
||||
|
||||
// UFactory
|
||||
virtual bool ConfigureProperties() override;
|
||||
virtual uint32 GetMenuCategories() const override;
|
||||
virtual UObject* FactoryCreateNew(UClass* InClass, UObject* InParent, FName InName, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) override;
|
||||
// End UFactory
|
||||
};
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
Items
|
||||
-----------------------------------------------------------------------------*/
|
||||
|
||||
/** Creates a new item data asset. */
|
||||
UCLASS()
|
||||
class UEleriItemDataAssetFactory : public UEleriDataAssetFactory
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UEleriItemDataAssetFactory(const FObjectInitializer& ObjectInitializer);
|
||||
|
||||
// UFactory
|
||||
virtual FText GetDisplayName() const override;
|
||||
// End UFactory
|
||||
};
|
||||
|
||||
/** Creates a new item container. */
|
||||
UCLASS()
|
||||
class UEleriItemContainerFactory : public UEleriDataAssetFactory
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UEleriItemContainerFactory(const FObjectInitializer& ObjectInitializer);
|
||||
|
||||
// UFactory
|
||||
virtual FText GetDisplayName() const override;
|
||||
// End UFactory
|
||||
};
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
Quests and dialogue
|
||||
-----------------------------------------------------------------------------*/
|
||||
|
||||
/** Creates a new quest. */
|
||||
UCLASS()
|
||||
class UEleriQuestDataAssetFactory : public UEleriDataAssetFactory
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UEleriQuestDataAssetFactory(const FObjectInitializer& ObjectInitializer);
|
||||
|
||||
// UFactory
|
||||
virtual FText GetDisplayName() const override;
|
||||
// End UFactory
|
||||
};
|
||||
|
||||
/** Creates a new quest database. */
|
||||
UCLASS()
|
||||
class UEleriQuestDatabaseFactory : public UEleriDataAssetFactory
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UEleriQuestDatabaseFactory(const FObjectInitializer& ObjectInitializer);
|
||||
|
||||
// UFactory
|
||||
virtual FText GetDisplayName() const override;
|
||||
// End UFactory
|
||||
};
|
||||
|
||||
/** Creates a new speech asset. */
|
||||
UCLASS()
|
||||
class UEleriSpeechDataAssetFactory : public UEleriDataAssetFactory
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UEleriSpeechDataAssetFactory(const FObjectInitializer& ObjectInitializer);
|
||||
|
||||
// UFactory
|
||||
virtual FText GetDisplayName() const override;
|
||||
// End UFactory
|
||||
};
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
World events and weather
|
||||
-----------------------------------------------------------------------------*/
|
||||
|
||||
/** Creates a new game event. */
|
||||
UCLASS()
|
||||
class UEleriGameEventDataAssetFactory : public UEleriDataAssetFactory
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UEleriGameEventDataAssetFactory(const FObjectInitializer& ObjectInitializer);
|
||||
|
||||
// UFactory
|
||||
virtual FText GetDisplayName() const override;
|
||||
// End UFactory
|
||||
};
|
||||
|
||||
/** Creates a new weather preset. */
|
||||
UCLASS()
|
||||
class UEleriWeatherPresetDataAssetFactory : public UEleriDataAssetFactory
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UEleriWeatherPresetDataAssetFactory(const FObjectInitializer& ObjectInitializer);
|
||||
|
||||
// UFactory
|
||||
virtual FText GetDisplayName() const override;
|
||||
// End UFactory
|
||||
};
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
Characters
|
||||
-----------------------------------------------------------------------------*/
|
||||
|
||||
/** Creates a new face expression set. */
|
||||
UCLASS()
|
||||
class UEleriFaceExpressionDataAssetFactory : public UEleriDataAssetFactory
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UEleriFaceExpressionDataAssetFactory(const FObjectInitializer& ObjectInitializer);
|
||||
|
||||
// UFactory
|
||||
virtual FText GetDisplayName() const override;
|
||||
// End UFactory
|
||||
};
|
||||
|
||||
/** Creates a new NPC. */
|
||||
UCLASS()
|
||||
class UEleriNpcDataAssetFactory : public UEleriDataAssetFactory
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UEleriNpcDataAssetFactory(const FObjectInitializer& ObjectInitializer);
|
||||
|
||||
// UFactory
|
||||
virtual FText GetDisplayName() const override;
|
||||
// End UFactory
|
||||
};
|
||||
|
||||
/** Creates a new NPC schedule. */
|
||||
UCLASS()
|
||||
class UEleriNpcScheduleAssetFactory : public UEleriDataAssetFactory
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UEleriNpcScheduleAssetFactory(const FObjectInitializer& ObjectInitializer);
|
||||
|
||||
// UFactory
|
||||
virtual FText GetDisplayName() const override;
|
||||
// End UFactory
|
||||
};
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
Settings, animation and minigames
|
||||
-----------------------------------------------------------------------------*/
|
||||
|
||||
/** Creates a new bazar settings asset. */
|
||||
UCLASS()
|
||||
class UEleriBazarSettingsDataAssetFactory : public UEleriDataAssetFactory
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UEleriBazarSettingsDataAssetFactory(const FObjectInitializer& ObjectInitializer);
|
||||
|
||||
// UFactory
|
||||
virtual FText GetDisplayName() const override;
|
||||
// End UFactory
|
||||
};
|
||||
|
||||
/** Creates a new animation set. */
|
||||
UCLASS()
|
||||
class UEleriAnimationDataAssetFactory : public UEleriDataAssetFactory
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UEleriAnimationDataAssetFactory(const FObjectInitializer& ObjectInitializer);
|
||||
|
||||
// UFactory
|
||||
virtual FText GetDisplayName() const override;
|
||||
// End UFactory
|
||||
};
|
||||
|
||||
/** Creates a new Potion Sort minigame. The category entry it turns up under is declared on the
|
||||
* minigame base class, so a minigame added later needs its own factory here but no category. */
|
||||
UCLASS()
|
||||
class UEleriPotionSortDataAssetFactory : public UEleriDataAssetFactory
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UEleriPotionSortDataAssetFactory(const FObjectInitializer& ObjectInitializer);
|
||||
|
||||
// UFactory
|
||||
virtual FText GetDisplayName() const override;
|
||||
// End UFactory
|
||||
};
|
||||
Reference in New Issue
Block a user