13 #include "DomainRandomizationDNNPCH.h"
14 #include "RandomComponentBase.h"
16 #include "RandomMaterialParameterComponentBase.generated.h"
22 UCLASS(Blueprintable, Abstract, ClassGroup = (NVIDIA), meta = (BlueprintSpawnableComponent))
32 virtual void BeginPlay()
override;
33 virtual void OnRandomization_Implementation()
override;
35 #if WITH_EDITORONLY_DATA
36 virtual void PostEditChangeProperty(
struct FPropertyChangedEvent& PropertyChangedEvent)
override;
37 #endif //WITH_EDITORONLY_DATA
39 void UpdateMeshMaterial(
class UMeshComponent* AffectedMeshComp);
40 void UpdateDecalMaterial(
class UDecalComponent* AffectedDecalComp);
41 virtual void UpdateMaterial(UMaterialInstanceDynamic* MaterialToMofidy) PURE_VIRTUAL(URandomMaterialParameterComponentBase::UpdateMaterial,);
45 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Randomization)
46 TArray<FName> MaterialParameterNames;
48 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Randomization, meta = (ShowOnlyInnerProperties))
51 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Randomization)
52 EAffectedMaterialOwnerComponentType AffectedComponentType;
57 TArray<class UMeshComponent*> OwnerMeshComponents;
60 TArray<class UDecalComponent*> OwnerDecalComponents;