Пример #1
0
 public FFormatArgumentData(PackageReader reader)
 {
     ArgumentName      = reader.ReadFString();
     ArgumentValueType = (EFormatArgumentType)reader.ReadByte();
     ArgumentValue     = ArgumentValueType switch
     {
         EFormatArgumentType.Int => reader.ReadInt32(),
         EFormatArgumentType.Float => reader.ReadFloat(),
         EFormatArgumentType.Text => new FText(reader),
         EFormatArgumentType.Gender => (ETextGender)reader.ReadByte(),
         _ => null,
     };
 }
Пример #2
0
 public FFormatArgumentValue(FAssetArchive Ar)
 {
     Type  = Ar.Read <EFormatArgumentType>();
     Value = Type switch
     {
         EFormatArgumentType.Text => new FText(Ar),
         EFormatArgumentType.Int => Ar.Read <long>(),
         EFormatArgumentType.UInt => Ar.Read <ulong>(),
         EFormatArgumentType.Double => Ar.Read <double>(),
         EFormatArgumentType.Float => Ar.Read <float>(),
         _ => throw new ParserException(Ar, $"{Type} argument not supported yet"),
     };
 }
Пример #3
0
 internal FFormatArgumentValue(PackageReader reader)
 {
     Type  = (EFormatArgumentType)reader.ReadByte();
     Value = Type switch
     {
         EFormatArgumentType.Text => new FText(reader),
         EFormatArgumentType.Int => reader.ReadInt64(),
         EFormatArgumentType.UInt => reader.ReadUInt64(),
         EFormatArgumentType.Double => reader.ReadDouble(),
         EFormatArgumentType.Float => reader.ReadFloat(),
         _ => null, // throw new NotImplementedException(string.Format(FModel.Properties.Resources.ParsingNotSupported, Type)),
     };
 }