Ejemplo n.º 1
0
            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();
            }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 4
0
        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)
            };
        }
Ejemplo n.º 5
0
 public FText(uint flags, ETextHistoryType historyType, FTextHistory textHistory)
 {
     Flags       = flags;
     HistoryType = historyType;
     TextHistory = textHistory;
 }