@ -0,0 +1,34 @@
|
||||
using System.Linq;
|
||||
using EpicGames.UHT.Types;
|
||||
using UnrealSharpScriptGenerator.Utilities;
|
||||
|
||||
namespace UnrealSharpScriptGenerator.PropertyTranslators;
|
||||
|
||||
public class IntPropertyTranslator : BlittableTypePropertyTranslator
|
||||
{
|
||||
public IntPropertyTranslator() : base(typeof(UhtIntProperty), "int", PropertyKind.Int)
|
||||
{
|
||||
}
|
||||
|
||||
public override string GetManagedType(UhtProperty property)
|
||||
{
|
||||
if (property.Outer is UhtFunction function && property.IsCustomStructureType())
|
||||
{
|
||||
if (function.GetCustomStructParamCount() == 1) return "CSP";
|
||||
return $"CSP{property.GetPrecedingCustomStructParams()}";
|
||||
}
|
||||
|
||||
return base.GetManagedType(property);
|
||||
}
|
||||
|
||||
public override string GetMarshaller(UhtProperty property)
|
||||
{
|
||||
if (property.Outer is UhtFunction && property.IsCustomStructureType())
|
||||
{
|
||||
return $"StructMarshaller<{GetManagedType(property)}>";
|
||||
}
|
||||
return base.GetMarshaller(property);
|
||||
}
|
||||
|
||||
public override bool CanSupportCustomStruct(UhtProperty property) => true;
|
||||
}
|
||||
Reference in New Issue
Block a user