36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
|  | using EpicGames.UHT.Types; | |||
|  | using UnrealSharpScriptGenerator.Utilities; | |||
|  | 
 | |||
|  | namespace UnrealSharpScriptGenerator.PropertyTranslators; | |||
|  | 
 | |||
|  | public class SoftClassPropertyTranslator : SimpleTypePropertyTranslator | |||
|  | { | |||
|  |     public SoftClassPropertyTranslator() : base(typeof(UhtSoftClassProperty)) | |||
|  |     { | |||
|  |          | |||
|  |     } | |||
|  |      | |||
|  |     public override string GetManagedType(UhtProperty property) | |||
|  |     { | |||
|  |         UhtSoftClassProperty softClassProperty = (UhtSoftClassProperty)property; | |||
|  |         string fullName = property.IsGenericType() | |||
|  |              ? "DOT" : softClassProperty.MetaClass!.GetFullManagedName(); | |||
|  | 
 | |||
|  |         return $"TSoftClassPtr<{fullName}>"; | |||
|  |     } | |||
|  | 
 | |||
|  |     public override string GetMarshaller(UhtProperty property) | |||
|  |     { | |||
|  |         UhtSoftClassProperty softClassProperty = (UhtSoftClassProperty) property; | |||
|  |         string fullName = property.IsGenericType() | |||
|  |              ? "DOT" : softClassProperty.MetaClass!.GetFullManagedName(); | |||
|  | 
 | |||
|  |         return $"SoftClassMarshaller<{fullName}>"; | |||
|  |     } | |||
|  | 
 | |||
|  |     public override bool CanExport(UhtProperty property) | |||
|  |     { | |||
|  |         return property is UhtSoftClassProperty; | |||
|  |     } | |||
|  | } |