48 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			48 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | #pragma once | |||
|  | 
 | |||
|  | #include "CoreMinimal.h"
 | |||
|  | #include "Kismet/BlueprintFunctionLibrary.h"
 | |||
|  | 
 | |||
|  | #define UE_VERSION_VAL(Major, Minor) ((Major) * 10000 + (Minor))
 | |||
|  | #define UE_CURRENT_VERSION UE_VERSION_VAL(ENGINE_MAJOR_VERSION, ENGINE_MINOR_VERSION)
 | |||
|  | #define UE_VERSION_BEFORE(Major, Minor) (UE_CURRENT_VERSION < UE_VERSION_VAL(Major, Minor))
 | |||
|  | #define UE_VERSION_SINCE(Major, Minor)  (UE_CURRENT_VERSION >= UE_VERSION_VAL(Major, Minor))
 | |||
|  | #define UE_VERSION_EQUAL(Major, Minor)  (UE_CURRENT_VERSION == UE_VERSION_VAL(Major, Minor))
 | |||
|  | 
 | |||
|  | namespace FCSUnrealSharpUtils | |||
|  | { | |||
|  | 	UNREALSHARPUTILITIES_API FName GetNamespace(const UObject* Object); | |||
|  | 	UNREALSHARPUTILITIES_API FName GetNamespace(FName PackageName); | |||
|  | 	UNREALSHARPUTILITIES_API FName GetNativeFullName(const UField* Object); | |||
|  | 
 | |||
|  | 	UNREALSHARPUTILITIES_API void PurgeMetaData(const UObject* Object); | |||
|  | 	 | |||
|  | 	UNREALSHARPUTILITIES_API FName GetModuleName(const UObject* Object); | |||
|  | 
 | |||
|  | 	UNREALSHARPUTILITIES_API bool IsStandalonePIE(); | |||
|  | 
 | |||
|  | 	UNREALSHARPUTILITIES_API void PurgeStruct(UStruct* Struct); | |||
|  | 
 | |||
|  | 	UNREALSHARPUTILITIES_API FGuid ConstructGUIDFromString(const FString& Name); | |||
|  | 	UNREALSHARPUTILITIES_API FGuid ConstructGUIDFromName(const FName& Name); | |||
|  | 
 | |||
|  | 	UNREALSHARPUTILITIES_API FString MakeQuotedPath(const FString& Path); | |||
|  | 
 | |||
|  | 	template<typename T> | |||
|  | 	static void GetAllCDOsOfClass(TArray<T*>& OutObjects) | |||
|  | 	{ | |||
|  | 		for (TObjectIterator<UClass> It; It; ++It) | |||
|  | 		{ | |||
|  | 			UClass* ClassObject = *It; | |||
|  | 		 | |||
|  | 			if (!ClassObject->IsChildOf(T::StaticClass()) || ClassObject->HasAnyClassFlags(CLASS_Abstract)) | |||
|  | 			{ | |||
|  | 				continue; | |||
|  | 			} | |||
|  | 
 | |||
|  | 			T* CDO = ClassObject->GetDefaultObject<T>(); | |||
|  | 			OutObjects.Add(CDO); | |||
|  | 		} | |||
|  | 	} | |||
|  | }; |