blob: 5a79f91151b31603fc1c8df1d13a46f15e44fb75 [file] [log] [blame]
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001// <auto-generated>
2// automatically generated by the FlatBuffers compiler, do not modify
3// </auto-generated>
4
5namespace MyGame.Example
6{
7
8using global::System;
9using global::FlatBuffers;
10
11public struct Referrable : IFlatbufferObject
12{
13 private Table __p;
14 public ByteBuffer ByteBuffer { get { return __p.bb; } }
15 public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_1_11_1(); }
16 public static Referrable GetRootAsReferrable(ByteBuffer _bb) { return GetRootAsReferrable(_bb, new Referrable()); }
17 public static Referrable GetRootAsReferrable(ByteBuffer _bb, Referrable obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
18 public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
19 public Referrable __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
20
21 public ulong Id { get { int o = __p.__offset(4); return o != 0 ? __p.bb.GetUlong(o + __p.bb_pos) : (ulong)0; } }
22 public bool MutateId(ulong id) { int o = __p.__offset(4); if (o != 0) { __p.bb.PutUlong(o + __p.bb_pos, id); return true; } else { return false; } }
23
24 public static Offset<MyGame.Example.Referrable> CreateReferrable(FlatBufferBuilder builder,
25 ulong id = 0) {
26 builder.StartTable(1);
27 Referrable.AddId(builder, id);
28 return Referrable.EndReferrable(builder);
29 }
30
31 public static void StartReferrable(FlatBufferBuilder builder) { builder.StartTable(1); }
32 public static void AddId(FlatBufferBuilder builder, ulong id) { builder.AddUlong(0, id, 0); }
33 public static Offset<MyGame.Example.Referrable> EndReferrable(FlatBufferBuilder builder) {
34 int o = builder.EndTable();
35 return new Offset<MyGame.Example.Referrable>(o);
36 }
37
38 public static VectorOffset CreateSortedVectorOfReferrable(FlatBufferBuilder builder, Offset<Referrable>[] offsets) {
39 Array.Sort(offsets, (Offset<Referrable> o1, Offset<Referrable> o2) => builder.DataBuffer.GetUlong(Table.__offset(4, o1.Value, builder.DataBuffer)).CompareTo(builder.DataBuffer.GetUlong(Table.__offset(4, o2.Value, builder.DataBuffer))));
40 return builder.CreateVectorOfTables(offsets);
41 }
42
43 public static Referrable? __lookup_by_key(int vectorLocation, ulong key, ByteBuffer bb) {
44 int span = bb.GetInt(vectorLocation - 4);
45 int start = 0;
46 while (span != 0) {
47 int middle = span / 2;
48 int tableOffset = Table.__indirect(vectorLocation + 4 * (start + middle), bb);
49 int comp = bb.GetUlong(Table.__offset(4, bb.Length - tableOffset, bb)).CompareTo(key);
50 if (comp > 0) {
51 span = middle;
52 } else if (comp < 0) {
53 middle++;
54 start += middle;
55 span -= middle;
56 } else {
57 return new Referrable().__assign(tableOffset, bb);
58 }
59 }
60 return null;
61 }
62};
63
64
65}