Files

36 lines
1.1 KiB
C#
Raw Permalink Normal View History

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