Files
BusyRabbit/Plugins/UnrealSharp/Source/UnrealSharpManagedGlue/PropertyTranslators/NamePropertyTranslator.cs
wyatt 648386cd73 Lua向C#逻辑迁移 一期 #13
将整个插件代码上传
2025-10-26 21:48:39 +08:00

31 lines
919 B
C#

using System;
using EpicGames.UHT.Types;
namespace UnrealSharpScriptGenerator.PropertyTranslators;
public class NamePropertyTranslator : BlittableTypePropertyTranslator
{
public NamePropertyTranslator() : base(typeof(UhtNameProperty), "FName", PropertyKind.Unknown)
{
}
public override bool ExportDefaultParameter => false;
public override string GetNullValue(UhtProperty property)
{
return "default(FName)";
}
public override void ExportCppDefaultParameterAsLocalVariable(GeneratorStringBuilder builder, string variableName, string defaultValue,
UhtFunction function, UhtProperty paramProperty)
{
if (defaultValue == "None")
{
builder.AppendLine($"FName {variableName} = FName.None;");
}
else
{
builder.AppendLine($"FName {variableName} = new FName(\"{defaultValue}\");");
}
}
}