public FormatNumber(FAssetArchive Ar, ETextHistoryType historyType) { if (historyType == ETextHistoryType.AsCurrency && Ar.Ver >= UE4Version.VER_UE4_ADDED_CURRENCY_CODE_TO_FTEXT) { CurrencyCode = Ar.ReadFString(); } SourceValue = new FFormatArgumentValue(Ar); if (Ar.ReadBoolean()) // bHasFormatOptions { FormatOptions = new FNumberFormattingOptions(Ar); } TargetCulture = Ar.ReadFString(); }
public void Serialize(NetBitReader reader) { int flags = reader.ReadInt32(); ETextHistoryType historyType = reader.ReadByteAsEnum <ETextHistoryType>(); switch (historyType) { case ETextHistoryType.Base: Namespace = reader.ReadFString(); Key = reader.ReadFString(); Text = reader.ReadFString(); break; default: //Need to add other formats as they're encountered break; } }
public void Deserialize(BinaryReader Reader) { Flags = Reader.ReadInt32(); HistoryType = (ETextHistoryType)(Reader.ReadByte()); if (HistoryType == ETextHistoryType.None) { return; } else if (HistoryType != ETextHistoryType.Base) { throw new UESerializationException("Unsupported HistoryType"); } Namespace = Reader.ReadFString(); Key = Reader.ReadFString(); SourceString = Reader.ReadFString(); }
public FText(FAssetArchive Ar) { Flags = Ar.Read <uint>(); HistoryType = Ar.Read <ETextHistoryType>(); TextHistory = HistoryType switch { ETextHistoryType.Base => new FTextHistory.Base(Ar), ETextHistoryType.NamedFormat => new FTextHistory.NamedFormat(Ar), ETextHistoryType.OrderedFormat => new FTextHistory.OrderedFormat(Ar), ETextHistoryType.ArgumentFormat => new FTextHistory.ArgumentFormat(Ar), ETextHistoryType.AsNumber => new FTextHistory.FormatNumber(Ar, HistoryType), ETextHistoryType.AsPercent => new FTextHistory.FormatNumber(Ar, HistoryType), ETextHistoryType.AsCurrency => new FTextHistory.FormatNumber(Ar, HistoryType), ETextHistoryType.AsDate => new FTextHistory.AsDate(Ar), ETextHistoryType.AsTime => new FTextHistory.AsTime(Ar), ETextHistoryType.AsDateTime => new FTextHistory.AsDateTime(Ar), ETextHistoryType.Transform => new FTextHistory.Transform(Ar), ETextHistoryType.StringTableEntry => new FTextHistory.StringTableEntry(Ar), ETextHistoryType.TextGenerator => new FTextHistory.TextGenerator(Ar), _ => new FTextHistory.None(Ar) }; }
public FText(uint flags, ETextHistoryType historyType, FTextHistory textHistory) { Flags = flags; HistoryType = historyType; TextHistory = textHistory; }