CelticCraft/Plugins/VoxelFree/Source/Voxel/Public/VoxelEditorDelegatesInterface.h

36 lines
No EOL
983 B
C++

// Copyright 2020 Phyronnaz
#pragma once
#include "CoreMinimal.h"
#include "UObject/Interface.h"
#include "VoxelEditorDelegatesInterface.generated.h"
UINTERFACE(BlueprintType)
class VOXEL_API UVoxelEditorDelegatesInterface : public UInterface
{
GENERATED_BODY()
};
class VOXEL_API IVoxelEditorDelegatesInterface : public IInterface
{
GENERATED_BODY()
public:
#if WITH_EDITOR
DECLARE_MULTICAST_DELEGATE_TwoParams(FBindEditorDelegates, IVoxelEditorDelegatesInterface*, UObject*);
static FBindEditorDelegates BindEditorDelegatesDelegate;
void BindEditorDelegates(UObject* Self)
{
BindEditorDelegatesDelegate.Broadcast(this, Self);
}
virtual void OnPreSaveWorld(uint32 SaveFlags, UWorld* World) {}
virtual void OnPreBeginPIE(bool bIsSimulating) {}
virtual void OnEndPIE(bool bIsSimulating) {}
virtual void OnPrepareToCleanseEditorObject(UObject* Object) {}
virtual void OnPreExit() {}
virtual void OnApplyObjectToActor(UObject* Object, AActor* Actor) {}
#endif
};