public override void Write(IStarboundStream stream) { stream.WriteVLQ((ulong)Position.Count); Position.ForEach(p => p.WriteTo(stream)); stream.WriteUInt8((byte)Layer); SourcePos.WriteTo(stream); TileDamage.WriteTo(stream); }
public override void Read(IStarboundStream stream) { ulong vlq = stream.ReadVLQ(); Position = new List <Vec2I>(); for (int i = 0; i < (int)vlq; i++) { Vec2I vec = Vec2I.FromStream(stream); Position.Add(vec); } Layer = (TileLayer)stream.ReadUInt8(); SourcePos = Vec2F.FromStream(stream); TileDamage = TileDamage.FromStream(stream); }