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);
 | 
						|
		}
 | 
						|
	}
 | 
						|
};
 |