Files
wyatt 648386cd73 Lua向C#逻辑迁移 一期 #13
将整个插件代码上传
2025-10-26 21:48:39 +08:00

34 lines
1.1 KiB
C#

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