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