blob: a9b59c4d5b4900a392c65aff48a0471380e1afd9 [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;
Austin Schuh272c6132020-11-14 16:37:52 -08009using global::System.Collections.Generic;
Austin Schuh2dd86a92022-09-14 21:19:23 -070010using global::Google.FlatBuffers;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070011
12public struct Referrable : IFlatbufferObject
13{
14 private Table __p;
15 public ByteBuffer ByteBuffer { get { return __p.bb; } }
Austin Schuh2dd86a92022-09-14 21:19:23 -070016 public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_8(); }
Austin Schuhe89fa2d2019-08-14 20:24:23 -070017 public static Referrable GetRootAsReferrable(ByteBuffer _bb) { return GetRootAsReferrable(_bb, new Referrable()); }
18 public static Referrable GetRootAsReferrable(ByteBuffer _bb, Referrable obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
19 public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
20 public Referrable __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
21
22 public ulong Id { get { int o = __p.__offset(4); return o != 0 ? __p.bb.GetUlong(o + __p.bb_pos) : (ulong)0; } }
23 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; } }
24
25 public static Offset<MyGame.Example.Referrable> CreateReferrable(FlatBufferBuilder builder,
26 ulong id = 0) {
27 builder.StartTable(1);
28 Referrable.AddId(builder, id);
29 return Referrable.EndReferrable(builder);
30 }
31
32 public static void StartReferrable(FlatBufferBuilder builder) { builder.StartTable(1); }
33 public static void AddId(FlatBufferBuilder builder, ulong id) { builder.AddUlong(0, id, 0); }
34 public static Offset<MyGame.Example.Referrable> EndReferrable(FlatBufferBuilder builder) {
35 int o = builder.EndTable();
36 return new Offset<MyGame.Example.Referrable>(o);
37 }
38
39 public static VectorOffset CreateSortedVectorOfReferrable(FlatBufferBuilder builder, Offset<Referrable>[] offsets) {
Austin Schuh2dd86a92022-09-14 21:19:23 -070040 Array.Sort(offsets,
41 (Offset<Referrable> o1, Offset<Referrable> o2) =>
42 new Referrable().__assign(builder.DataBuffer.Length - o1.Value, builder.DataBuffer).Id.CompareTo(new Referrable().__assign(builder.DataBuffer.Length - o2.Value, builder.DataBuffer).Id));
Austin Schuhe89fa2d2019-08-14 20:24:23 -070043 return builder.CreateVectorOfTables(offsets);
44 }
45
46 public static Referrable? __lookup_by_key(int vectorLocation, ulong key, ByteBuffer bb) {
Austin Schuh2dd86a92022-09-14 21:19:23 -070047 Referrable obj_ = new Referrable();
Austin Schuhe89fa2d2019-08-14 20:24:23 -070048 int span = bb.GetInt(vectorLocation - 4);
49 int start = 0;
50 while (span != 0) {
51 int middle = span / 2;
52 int tableOffset = Table.__indirect(vectorLocation + 4 * (start + middle), bb);
Austin Schuh2dd86a92022-09-14 21:19:23 -070053 obj_.__assign(tableOffset, bb);
54 int comp = obj_.Id.CompareTo(key);
Austin Schuhe89fa2d2019-08-14 20:24:23 -070055 if (comp > 0) {
56 span = middle;
57 } else if (comp < 0) {
58 middle++;
59 start += middle;
60 span -= middle;
61 } else {
Austin Schuh2dd86a92022-09-14 21:19:23 -070062 return obj_;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070063 }
64 }
65 return null;
66 }
Austin Schuh272c6132020-11-14 16:37:52 -080067 public ReferrableT UnPack() {
68 var _o = new ReferrableT();
69 this.UnPackTo(_o);
70 return _o;
71 }
72 public void UnPackTo(ReferrableT _o) {
73 _o.Id = this.Id;
74 }
75 public static Offset<MyGame.Example.Referrable> Pack(FlatBufferBuilder builder, ReferrableT _o) {
76 if (_o == null) return default(Offset<MyGame.Example.Referrable>);
77 return CreateReferrable(
78 builder,
79 _o.Id);
80 }
James Kuszmaul8e62b022022-03-22 09:33:25 -070081}
Austin Schuhe89fa2d2019-08-14 20:24:23 -070082
Austin Schuh272c6132020-11-14 16:37:52 -080083public class ReferrableT
84{
85 [Newtonsoft.Json.JsonProperty("id")]
86 [Newtonsoft.Json.JsonIgnore()]
87 public ulong Id { get; set; }
88
89 public ReferrableT() {
90 this.Id = 0;
91 }
92}
93
Austin Schuhe89fa2d2019-08-14 20:24:23 -070094
95}