| @ -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