Native class
FGBAAttributeSetWizardViewModel#
Implements a view model for the attribute set wizard.
Internal delegates#
-
public
Delegate called whenever input and model properties are validated passing down whether it was valid, and an error text if not
Methods#
-
public
Default constructor with ParentClass set to UAttributeSet
-
explicitFGBAAttributeSetWizardViewModel(const FNewClassInfo& InParentClassInfo
Convenience constructor so you can construct from a FNewClassInfo
-
explicitFGBAAttributeSetWizardViewModel(const UClass* InClass
Convenience constructor so you can construct from a UClass
-
voidAddRequiredModuleDependency(const FString& InModuleName,
const FText& InReasonAdds a new required module dependency if it's not the currently selected module
-
DECLARE_VIEWMODEL_PROPERTY(EGBAPreviewCppType ,
CurrentPreviewValueCurrent value for the segmented control active view
-
DECLARE_VIEWMODEL_PROPERTY(FNewClassInfo ,
ParentClassInfoThe selected parent class
-
DECLARE_VIEWMODEL_PROPERTY(FString ,
CalculatedClassHeaderNameThe calculated name of the generated header file for this class
-
DECLARE_VIEWMODEL_PROPERTY(FString ,
CalculatedClassSourceNameThe calculated name of the generated source file for this class
-
DECLARE_VIEWMODEL_PROPERTY(FString ,
NewClassNameThe name of the class being created (Value of Name Edit box)
-
DECLARE_VIEWMODEL_PROPERTY(FString ,
NewClassPathThe path to place the files for the class being generated
-
DECLARE_VIEWMODEL_PROPERTY(FString ,
SelectedClassPathThe displayed and edited path to place the file for the class being generated, relative to target module source path
-
DECLARE_VIEWMODEL_PROPERTY(GameProjectUtils::EClassLocation ,
ClassLocationWhether the class should be created as a Public or Private class
-
DECLARE_VIEWMODEL_PROPERTY(TArray<FGBARequiredModuleDependency> ,
RequiredModuleDependenciesList of required module dependencies for class being generated (dynamic based on parent class and other parameters)
-
DECLARE_VIEWMODEL_PROPERTY(TArray<FString> ,
MissingModuleDependenciesList of missing module dependencies for class being generated (updated as part of the validation process)
-
DECLARE_VIEWMODEL_PROPERTY(TSharedPtr<FModuleContextInfo> ,
SelectedModuleInfoInformation about the currently selected module; used for class validation
-
DECLARE_VIEWMODEL_PROPERTY(TWeakObjectPtr<UBlueprint> ,
SelectedBlueprintThe asset currently being displayed by the header view
-
DECLARE_VIEWMODEL_PROPERTY(bool ,
bSatisfiesModuleDependenciesWhether all required module dependencies are present in target module Build.cs file
-
FTextGetLastInputValidityErrorText() const
Returns localized text with error info in case last input validity check failed
-
virtual voidInitialize() override
Noop (for now) initialization sequence
-
boolIsLastInputValidityCheckSuccessful() const
Returns whether last validity check was successful
-
inline FOnUpdateValidityChanged&
-
void
Reset required module dependencies to the reserved always included ones
-
voidRunPeriodicValidationOnTick(const double InCurrentTime
Runs periodic check to check the class name/path for validity in case the disk contents changed and the location is now valid or invalid.
-
void
Checks the current class name/path for validity and updates cached values accordingly
Fields#
-
privatebool bLastInputValidityCheckSuccessful = false
True if the last validity check returned that the class name/path is valid for creation
-
bool bPreventPeriodicValidityChecksUntilNextChange = false
Periodic checks for validity will not occur while this flag is true. Used to prevent a frame of "this project already exists" while exiting after a successful creation.
-
FText LastInputValidityErrorText
The error text from the last validity check
-
double LastPeriodicValidityCheckTime = 0
The last time that the class name/path was checked for validity. This is used to throttle I/O requests to a reasonable frequency
-
FOnUpdateValidityChanged OnUpdateValidityChangedDelegate
Delegate invoked at the end of a new validity check
-
double PeriodicValidityCheckFrequency = 4
The frequency in seconds for validity checks while the dialog is idle. Changes to the name/path immediately update the validity.
-
static TArray<FGBARequiredModuleDependency> ReservedModuleDependencies
The list of "reserved" always required dependencies