| @ -0,0 +1,43 @@ | ||||
| using System; | ||||
| using EpicGames.UHT.Types; | ||||
| using UnrealSharpScriptGenerator.Utilities; | ||||
|  | ||||
| namespace UnrealSharpScriptGenerator.PropertyTranslators; | ||||
|  | ||||
| public class ClassPropertyTranslator : SimpleTypePropertyTranslator | ||||
| { | ||||
|     public ClassPropertyTranslator() : base(typeof(UhtClassProperty)) | ||||
|     { | ||||
|     } | ||||
|  | ||||
|     public override string GetManagedType(UhtProperty property) | ||||
|     { | ||||
|         UhtClassProperty classProperty = (UhtClassProperty)property; | ||||
|         string fullName = property.IsGenericType() ? "DOT"  | ||||
|             : classProperty.MetaClass!.GetFullManagedName(); | ||||
|  | ||||
|         return $"TSubclassOf<{fullName}>"; | ||||
|     } | ||||
|  | ||||
|     public override string GetMarshaller(UhtProperty property) | ||||
|     { | ||||
|         UhtClassProperty classProperty = (UhtClassProperty)property; | ||||
|         string fullName = property.IsGenericType() ? "DOT" | ||||
|             : classProperty.MetaClass!.GetFullManagedName(); | ||||
|  | ||||
|         return $"SubclassOfMarshaller<{fullName}>"; | ||||
|     } | ||||
|  | ||||
|     /* | ||||
|     public override void ExportToNative(GeneratorStringBuilder builder, UhtProperty property, string propertyName, string destinationBuffer, string offset, string source) | ||||
|     { | ||||
|         if (property.IsGenericType()) | ||||
|         { | ||||
|             builder.AppendLine($"{GetMarshaller(property)}.ToNative(IntPtr.Add({destinationBuffer}, {offset}), 0, typeof(DOT));"); | ||||
|         } | ||||
|         else | ||||
|         { | ||||
|             base.ExportToNative(builder, property, propertyName, destinationBuffer, offset, source); | ||||
|         } | ||||
|     }*/ | ||||
| } | ||||
		Reference in New Issue
	
	Block a user