UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialExpressionStaticBoolParameter.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3
4#pragma once
5
6#include "CoreMinimal.h"
8#include "MaterialValueType.h"
10#include "MaterialExpressionStaticBoolParameter.generated.h"
11
14{
16
17 UPROPERTY(EditAnywhere, Category=MaterialExpressionStaticBoolParameter, meta = (ShowAsInputPin = "Primary"))
18 uint32 DefaultValue:1;
19
21 UPROPERTY()
22 uint32 DynamicBranch:1;
23
24public:
25 //~ Begin UMaterialExpression Interface
26#if WITH_EDITOR
27 virtual void Build(MIR::FEmitter& Emitter) override;
28 virtual int32 Compile(class FMaterialCompiler* Compiler, int32 OutputIndex) override;
29 virtual int32 CompilePreview(class FMaterialCompiler* Compiler, int32 OutputIndex) override;
30 virtual void GetCaption(TArray<FString>& OutCaptions) const override;
31 virtual EMaterialValueType GetOutputValueType(int32 OutputIndex) override {return DynamicBranch ? MCT_Bool : MCT_StaticBool;}
32 virtual bool IsStaticExpression() const override { return DynamicBranch == 0; }
33 virtual bool GetParameterValue(FMaterialParameterMetadata& OutMeta) const override
34 {
35 OutMeta.Value = (bool)DefaultValue;
36 OutMeta.bDynamicSwitchParameter = DynamicBranch;
37 return Super::GetParameterValue(OutMeta);
38 }
40 {
41 if (Meta.Value.Type == EMaterialParameterType::StaticSwitch)
42 {
43 if (SetParameterValue(Name, Meta.Value.AsStaticSwitch(), Meta.ExpressionGuid, Flags))
44 {
46 {
47 Group = Meta.Group;
48 SortPriority = Meta.SortPriority;
49 }
50 return true;
51 }
52 }
53 return false;
54 }
55#endif
56 //~ End UMaterialExpression Interface
57
58#if WITH_EDITOR
60#endif
61};
62
63
64
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
constexpr bool EnumHasAnyFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:35
EMaterialExpressionSetParameterValueFlags
Definition MaterialExpression.h:113
EMaterialValueType
Definition MaterialValueType.h:15
@ MCT_StaticBool
Definition MaterialValueType.h:35
@ MCT_Bool
Definition MaterialValueType.h:59
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition MaterialCompiler.h:109
Definition NameTypes.h:617
Definition Array.h:670
Definition MaterialExpressionParameter.h:17
Definition MaterialExpressionStaticBoolParameter.h:14
Definition Guid.h:109
Definition MaterialParameters.h:446