Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
EngineBinaryReader.cs
浏览该文件的文档.
1using System.Text;
2
3namespace Engine.Serialization {
4 public class EngineBinaryReader : BinaryReader {
5 public EngineBinaryReader(Stream stream, bool leaveOpen = false) : base(stream, Encoding.UTF8, leaveOpen) { }
6
7 public new int Read7BitEncodedInt() => base.Read7BitEncodedInt();
8
9 public virtual Color ReadColor() => new(ReadUInt32());
10
11 public virtual Point2 ReadPoint2() => new(ReadInt32(), ReadInt32());
12
13 public virtual Point3 ReadPoint3() => new(ReadInt32(), ReadInt32(), ReadInt32());
14
15 public virtual Rectangle ReadRectangle() => new(ReadInt32(), ReadInt32(), ReadInt32(), ReadInt32());
16
17 public virtual Box ReadBox() => new(ReadInt32(), ReadInt32(), ReadInt32(), ReadInt32(), ReadInt32(), ReadInt32());
18
19 public virtual Vector2 ReadVector2() => new(ReadSingle(), ReadSingle());
20
21 public virtual Vector3 ReadVector3() => new(ReadSingle(), ReadSingle(), ReadSingle());
22
23 public virtual Vector4 ReadVector4() => new(ReadSingle(), ReadSingle(), ReadSingle(), ReadSingle());
24
26
27 public virtual BoundingBox ReadBoundingBox() => new(ReadVector3(), ReadVector3());
28
29 public virtual Plane ReadPlane() => new(ReadVector3(), ReadSingle());
30
31 public virtual Quaternion ReadQuaternion() => new(ReadSingle(), ReadSingle(), ReadSingle(), ReadSingle());
32
33 public virtual Matrix ReadMatrix() => new(
34 ReadSingle(),
35 ReadSingle(),
36 ReadSingle(),
37 ReadSingle(),
38 ReadSingle(),
39 ReadSingle(),
40 ReadSingle(),
41 ReadSingle(),
42 ReadSingle(),
43 ReadSingle(),
44 ReadSingle(),
45 ReadSingle(),
46 ReadSingle(),
47 ReadSingle(),
48 ReadSingle(),
49 ReadSingle()
50 );
51
52 public virtual T ReadStruct<T>() where T : unmanaged => Utilities.ArrayToStructure<T>(ReadBytes(Utilities.SizeOf<T>()));
53 }
54}
EngineBinaryReader(Stream stream, bool leaveOpen=false)