CelticCraft/Plugins/VoxelFree/Source/VoxelEditorDefault/Public/ActorFactoryVoxelPlaceableItems.h

48 lines
No EOL
1.2 KiB
C++

// Copyright 2020 Phyronnaz
#pragma once
#include "CoreMinimal.h"
#include "ActorFactories/ActorFactory.h"
#include "ActorFactoryVoxelPlaceableItems.generated.h"
UCLASS()
class VOXELEDITORDEFAULT_API UActorFactoryVoxelPlaceableItem : public UActorFactory
{
GENERATED_BODY()
public:
UActorFactoryVoxelPlaceableItem();
//~ Begin UActorFactory Interface
void PostSpawnActor(UObject* Asset, AActor* NewActor) override;
//~ End UActorFactory Interface
};
UCLASS()
class VOXELEDITORDEFAULT_API UActorFactoryVoxelDisableEditsBox : public UActorFactoryVoxelPlaceableItem
{
GENERATED_BODY()
public:
UActorFactoryVoxelDisableEditsBox();
};
UCLASS()
class VOXELEDITORDEFAULT_API UActorFactoryVoxelAssetActor : public UActorFactoryVoxelPlaceableItem
{
GENERATED_BODY()
public:
UActorFactoryVoxelAssetActor();
//~ Begin UActorFactory Interface
virtual void PostSpawnActor(UObject* Asset, AActor* NewActor) override;
virtual void PostCreateBlueprint(UObject* Asset, AActor* CDO) override;
virtual bool CanCreateActorFrom(const FAssetData& AssetData, FText& OutErrorMsg) override;
virtual UObject* GetAssetFromActorInstance(AActor* ActorInstance) override;
//~ End UActorFactory Interface
private:
virtual void InitActor(UObject* Asset, AActor* NewActor);
};