Files
2026-04-22 15:51:07 +02:00

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();
};