示例#1
0
        public override void ReadFromBinary(IBinaryReader reader)
        {
            DeltaWidth  = reader.ReadVdc();
            DeltaHeight = reader.ReadVdc();
            Position    = reader.ReadPoint();

            Final = reader.ReadBool();

            Text = reader.ReadString();
        }
示例#2
0
        public override void ReadFromBinary(IBinaryReader reader)
        {
            Id = reader.ReadName();

            XScale       = reader.ReadReal();
            XRotation    = reader.ReadReal();
            YRotation    = reader.ReadReal();
            YScale       = reader.ReadReal();
            XTranslation = reader.ReadVdc();
            YTranslation = reader.ReadVdc();

            Flag = reader.ReadBool();
        }
示例#3
0
        public override void ReadFromBinary(IBinaryReader reader)
        {
            while (reader.CurrentArg < reader.Arguments.Length)
            {
                var info = new TSInfo
                {
                    Type      = reader.ReadIndex(),
                    Indicator = reader.ReadBool()
                };

                Infos.Add(info);
            }
        }
示例#4
0
 public override void ReadFromBinary(IBinaryReader reader)
 {
     IsVisible = reader.ReadBool();
 }
 public static T?ReadNullableStruct <T>(this IBinaryReader reader, Func <IBinaryReader, T> readNonNullValue)
     where T : struct
 {
     return(reader.ReadBool() ? readNonNullValue(reader) : (T?)null);
 }
 public static T ReadNullable <T>(this IBinaryReader reader, Func <IBinaryReader, T> readNonNullValue)
     where T : class
 {
     return(reader.ReadBool() ? readNonNullValue(reader) : null);
 }
示例#7
0
 public override void ReadFromBinary(IBinaryReader reader)
 {
     Flag = reader.ReadBool();
 }
        private static void ReadContainer(IBinaryReader reader, IHerculesTagsBuilder builder)
        {
            var tagsCount = reader.ReadInt16();

            for (var i = 0; i < tagsCount; i++)
            {
                var key       = reader.ReadShortString();
                var valueType = (TagType)reader.ReadByte();

                switch (valueType)
                {
                case TagType.String:
                    builder.AddValue(key, reader.ReadString());
                    break;

                case TagType.Long:
                    builder.AddValue(key, reader.ReadInt64());
                    break;

                case TagType.Uuid:
                    builder.AddValue(key, reader.ReadGuid());
                    break;

                case TagType.Container:
                    builder.AddContainer(key, b => ReadContainer(reader, b));
                    break;

                case TagType.Integer:
                    builder.AddValue(key, reader.ReadInt32());
                    break;

                case TagType.Double:
                    builder.AddValue(key, reader.ReadDouble());
                    break;

                case TagType.Flag:
                    builder.AddValue(key, reader.ReadBool());
                    break;

                case TagType.Null:
                    builder.AddNull(key);
                    break;

                case TagType.Byte:
                    builder.AddValue(key, reader.ReadByte());
                    break;

                case TagType.Short:
                    builder.AddValue(key, reader.ReadInt16());
                    break;

                case TagType.Float:
                    builder.AddValue(key, reader.ReadFloat());
                    break;

                case TagType.Vector:
                    ReadVector(reader, builder, key);
                    break;

                default:
                    throw new ArgumentOutOfRangeException(nameof(valueType), valueType, "Unexpected tag value type.");
                }
            }
        }
示例#9
0
 public override void ReadFromBinary(IBinaryReader reader)
 {
     Indicator = reader.ReadBool();
     Color     = reader.ReadColor();
 }