Instant3DHubDrawingSettings.h Source File

instant3Dhub: Instant3DHubDrawingSettings.h Source File
instant3Dhub
Instant3DHubDrawingSettings.h
Go to the documentation of this file.
1
6#pragma once
7
8#include "CoreMinimal.h"
9
10#include "UObject/UObjectGlobals.h"
11#include "Engine/DeveloperSettings.h"
12#include "Engine/EngineTypes.h"
13
14#include "Instant3DHubDrawingSettings.generated.h"
15
17
19UCLASS(config = Engine, defaultconfig, MinimalAPI, meta = (DisplayName = " instant3Dhub Drawings"))
21{
22 GENERATED_BODY()
23
24public:
26
27#if WITH_EDITOR
28 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
29#endif
30
31 static bool TestIsValidInteractiveDrawingMaterial(const FName& MaterialName, const UMaterialInterface* DrawingMaterial);
32
37 FORCEINLINE static INSTANT3DHUB_API const UInstant3DHubDrawingSettings* Get()
38 {
39 return GetDefault<UInstant3DHubDrawingSettings>();
40 }
41
46 FORCEINLINE static INSTANT3DHUB_API const UInstant3DHubDrawingSettings& GetChecked()
47 {
48 const UInstant3DHubDrawingSettings* DefaultHubSettings = GetDefault<UInstant3DHubDrawingSettings>();
49 check(DefaultHubSettings != nullptr);
50 return *DefaultHubSettings;
51 }
52
53 virtual FName GetCategoryName() const override;
54
59 UFUNCTION(BlueprintCallable, Category = "{instant3DhubDrawings}")
60 INSTANT3DHUBDRAWINGS_API UMaterialInterface* LoadInteractiveDrawingMaterial() const;
61
66 UFUNCTION(BlueprintCallable, Category = "{instant3DhubDrawings}")
67 INSTANT3DHUBDRAWINGS_API UMaterialInterface* LoadInteractiveDrawingActiveMaterial() const;
68
73 UFUNCTION(BlueprintCallable, Category = "{instant3DhubDrawings}")
74 INSTANT3DHUBDRAWINGS_API UMaterialInterface* LoadInteractiveDrawingActiveTransientMaterial() const;
75
80 UFUNCTION(BlueprintCallable, Category = "{instant3DhubDrawings}")
81 INSTANT3DHUBDRAWINGS_API UMaterialInterface* LoadInteractiveDrawingTransientMaterial() const;
82
87 UFUNCTION(BlueprintCallable, Category = "{instant3DhubDrawings}")
88 INSTANT3DHUBDRAWINGS_API UMaterialInterface* LoadInteractiveDrawingHoveredMaterial() const;
89
90public:
92 UPROPERTY(Category = "Drawings", EditAnywhere, Config, BlueprintReadOnly)
93 TSoftObjectPtr<UMaterialInterface> InteractiveDrawingMaterial;
94
96 UPROPERTY(Category = "Drawings", EditAnywhere, Config, BlueprintReadOnly)
97 TSoftObjectPtr<UMaterialInterface> InteractiveDrawingActiveMaterial;
98
103 UPROPERTY(Category = "Drawings", EditAnywhere, Config, BlueprintReadOnly)
104 TSoftObjectPtr<UMaterialInterface> InteractiveDrawingActiveTransientMaterial;
105
110 UPROPERTY(Category = "Drawings", EditAnywhere, Config, BlueprintReadOnly)
111 TSoftObjectPtr<UMaterialInterface> InteractiveDrawingTransientMaterial;
112
114 UPROPERTY(Category = "Drawings", EditAnywhere, Config, BlueprintReadOnly)
115 TSoftObjectPtr<UMaterialInterface> InteractiveDrawingHoveredMaterial;
116
118 UPROPERTY(Category = "Drawings", EditAnywhere, Config, BlueprintReadOnly, AdvancedDisplay)
119 bool bHideDrawingControlPoints{false};
120};
Project Settings for the Instant3DHub App.
Definition Instant3DHubDrawingSettings.h:21
static const UInstant3DHubDrawingSettings * Get()
Gets the instant3Dhub App Plugin Settings.
Definition Instant3DHubDrawingSettings.h:37
static const UInstant3DHubDrawingSettings & GetChecked()
Gets the instant3Dhub App Plugin Settings.
Definition Instant3DHubDrawingSettings.h:46