| @ -0,0 +1,47 @@ | ||||
| #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); | ||||
| 		} | ||||
| 	} | ||||
| }; | ||||
		Reference in New Issue
	
	Block a user