mirror of
https://github.com/ApfelTeeSaft/UnrealEvent.git
synced 2026-09-02 12:13:25 +00:00
99 lines
3.9 KiB
C++
99 lines
3.9 KiB
C++
#pragma once
|
|
#include "CoreMinimal.h"
|
|
#include "UObject/Object.h"
|
|
#include "Components/TimelineComponent.h"
|
|
#include "EditModeState.h"
|
|
#include "Templates/SubclassOf.h"
|
|
#include "BuildingEditModeSupport.generated.h"
|
|
|
|
class ABuildingSMActor;
|
|
class AFortPlayerController;
|
|
class UBuildingEditModeMetadata;
|
|
class UCurveFloat;
|
|
class UMaterialInterface;
|
|
class UStaticMesh;
|
|
class UStaticMeshComponent;
|
|
class UTexture2D;
|
|
|
|
UCLASS(Abstract, Blueprintable, Within=BuildingSMActor)
|
|
class UBuildingEditModeSupport : public UObject {
|
|
GENERATED_BODY()
|
|
public:
|
|
protected:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
ABuildingSMActor* OwnerBuilding;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
AFortPlayerController* EditingController;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
UBuildingEditModeMetadata* PreviewMetadata;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
UBuildingEditModeMetadata* ScratchpadMetadata;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
TSubclassOf<UBuildingEditModeMetadata> ExpectedMetadataClass;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
TArray<TSubclassOf<ABuildingSMActor>> PossibleEditClasses;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
TSoftObjectPtr<UStaticMesh> EditTileMesh;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, Transient, meta=(AllowPrivateAccess=true))
|
|
TArray<UStaticMeshComponent*> EditTileMeshComponents;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
TSoftObjectPtr<UMaterialInterface> TileMaterialParent;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
TSoftObjectPtr<UTexture2D> ActiveTileTexture;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
TSoftObjectPtr<UTexture2D> InactiveTileTexture;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, Transient, meta=(AllowPrivateAccess=true))
|
|
UStaticMeshComponent* LastInteractedComp;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, Transient, meta=(AllowPrivateAccess=true))
|
|
UStaticMeshComponent* LastHighlightedComp;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, Transient, meta=(AllowPrivateAccess=true))
|
|
UStaticMeshComponent* PreviewComponent;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
TSoftObjectPtr<UMaterialInterface> PreviewMaterial;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FEditModeState PreviewEditModeState;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
TSoftObjectPtr<UCurveFloat> SuccessfulPatternMatchCurve;
|
|
|
|
UPROPERTY(EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FTimeline SuccessfulMatchInteractTimeline;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
uint8 bCanMirrorMetadataToMatch: 1;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
uint8 bCanRotateMetadataToMatch: 1;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
uint8 bEditActionInProgress: 1;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
uint8 bInitializedTimelines: 1;
|
|
|
|
public:
|
|
UBuildingEditModeSupport();
|
|
UFUNCTION(BlueprintCallable)
|
|
void OnSuccessfulMatchInteractParamUpdate(float NewInteractParamVal);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void OnSuccessfulMatchInteractComplete();
|
|
|
|
};
|
|
|