38 lines
		
	
	
		
			975 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			38 lines
		
	
	
		
			975 B
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#pragma once
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "CSNamespace.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								struct UNREALSHARPCORE_API FCSFieldName
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									FCSFieldName() = default;
							 | 
						||
| 
								 | 
							
									FCSFieldName(FName Name, FName Namespace) : Name(Name), Namespace(Namespace) {}
							 | 
						||
| 
								 | 
							
									FCSFieldName(UField* Field);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									FName GetFName() const { return Name; }
							 | 
						||
| 
								 | 
							
									FString GetName() const { return Name.ToString(); }
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									bool IsValid() const { return Name != NAME_None; }
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									FCSNamespace GetNamespace() const { return Namespace; }
							 | 
						||
| 
								 | 
							
									UPackage* GetPackage() const { return Namespace.GetPackage(); }
							 | 
						||
| 
								 | 
							
									FName GetPackageName() const { return Namespace.GetPackageName(); }
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									FName GetFullName() const
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										return *FString::Printf(TEXT("%s.%s"), *Namespace.GetName(), *Name.ToString());
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									bool operator == (const FCSFieldName& Other) const
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										return Name == Other.Name && Namespace == Other.Namespace;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									friend uint32 GetTypeHash(const FCSFieldName& Field)
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										return GetTypeHash(Field.Name) ^ GetTypeHash(Field.Namespace);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								private:
							 | 
						||
| 
								 | 
							
									FName Name;
							 | 
						||
| 
								 | 
							
									FCSNamespace Namespace;
							 | 
						||
| 
								 | 
							
								};
							 |