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

33 lines
1.1 KiB
C#

using EpicGames.UHT.Types;
using UnrealSharpScriptGenerator.Utilities;
namespace UnrealSharpScriptGenerator.PropertyTranslators;
public class StructPropertyTranslator : SimpleTypePropertyTranslator
{
public StructPropertyTranslator() : base(typeof(UhtStructProperty))
{
}
public override bool ExportDefaultParameter => false;
public override bool IsBlittable => false;
public override string GetManagedType(UhtProperty property)
{
UhtStructProperty structProperty = (UhtStructProperty)property;
return structProperty.ScriptStruct.GetFullManagedName();
}
public override string GetMarshaller(UhtProperty property)
{
return $"StructMarshaller<{GetManagedType(property)}>";
}
public override void ExportCppDefaultParameterAsLocalVariable(GeneratorStringBuilder builder, string variableName, string defaultValue,
UhtFunction function, UhtProperty paramProperty)
{
ExportDefaultStructParameter(builder, variableName, defaultValue, paramProperty, this);
}
public override bool CanSupportGenericType(UhtProperty property) => false;
}