You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
- Small refactor of how and where class flags are parsed - 'Placeable' is no longer deprecated (it never really was) - Restoring 'Placeable' keyword on ALandscape UE-14035 [CL 2518912 by Robert Manuszewski in Main branch]
63 lines
2.0 KiB
C++
63 lines
2.0 KiB
C++
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
/** Structure that holds class meta data generated from its UCLASS declaration */
|
|
class FClassDeclarationMetaData
|
|
{
|
|
public:
|
|
FClassDeclarationMetaData();
|
|
|
|
uint64 ClassFlags;
|
|
TMap<FName, FString> MetaData;
|
|
FString ClassWithin;
|
|
FString ConfigName;
|
|
|
|
TArray<FString> HideCategories;
|
|
TArray<FString> ShowSubCatgories;
|
|
TArray<FString> HideFunctions;
|
|
TArray<FString> AutoExpandCategories;
|
|
TArray<FString> AutoCollapseCategories;
|
|
TArray<FString> DependsOn;
|
|
TArray<FString> ClassGroupNames;
|
|
|
|
/**
|
|
* Parse Class's properties to generate its declaration data.
|
|
*
|
|
* @param InClassSpecifiers Class properties collected from its UCLASS macro
|
|
* @param InRequiredAPIMacroIfPresent *_API macro if present (empty otherwise)
|
|
* @param OutClassData Parsed class meta data
|
|
*/
|
|
void ParseClassProperties(const TArray<FPropertySpecifier>& InClassSpecifiers, const FString& InRequiredAPIMacroIfPresent);
|
|
|
|
/**
|
|
* Merges all category properties with the class which at this point only has its parent propagated categories
|
|
*
|
|
* @param Class Class to merge categories for
|
|
*/
|
|
void MergeClassCategories(FClass* Class);
|
|
|
|
/**
|
|
* Merges all class flags and validates them
|
|
*
|
|
* @param DeclaredClassName Name this class was declared with (for validation)
|
|
* @param PreviousClassFlags Class flags before resetting the class (for validation)
|
|
* @param Class Class to merge flags for
|
|
* @param AllClasses All known classes
|
|
*/
|
|
void MergeAndValidateClassFlags(const FString& DeclaredClassName, uint32 PreviousClassFlags, FClass* Class, const FClasses& AllClasses);
|
|
private:
|
|
|
|
/** Merges all 'show' categories */
|
|
void MergeShowCategories();
|
|
/** Sets and validates 'within' property */
|
|
void SetAndValidateWithinClass(FClass* Class, const FClasses& AllClasses);
|
|
/** Sets and validates 'ConfigName' property */
|
|
void SetAndValidateConfigName(FClass* Class);
|
|
|
|
TArray<FString> ShowCategories;
|
|
TArray<FString> ShowFunctions;
|
|
TArray<FString> DontAutoCollapseCategories;
|
|
bool WantsToBePlaceable;
|
|
};
|