blob: 9bc2d9a3cb90df0630bf8d1703cd643988f5ac68 [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
5using global::System;
Austin Schuh272c6132020-11-14 16:37:52 -08006using global::System.Collections.Generic;
Austin Schuh2dd86a92022-09-14 21:19:23 -07007using global::Google.FlatBuffers;
Austin Schuhe89fa2d2019-08-14 20:24:23 -07008
9public struct Movie : IFlatbufferObject
10{
11 private Table __p;
12 public ByteBuffer ByteBuffer { get { return __p.bb; } }
Austin Schuh2dd86a92022-09-14 21:19:23 -070013 public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_8(); }
Austin Schuhe89fa2d2019-08-14 20:24:23 -070014 public static Movie GetRootAsMovie(ByteBuffer _bb) { return GetRootAsMovie(_bb, new Movie()); }
15 public static Movie GetRootAsMovie(ByteBuffer _bb, Movie obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
16 public static bool MovieBufferHasIdentifier(ByteBuffer _bb) { return Table.__has_identifier(_bb, "MOVI"); }
17 public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
18 public Movie __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
19
20 public Character MainCharacterType { get { int o = __p.__offset(4); return o != 0 ? (Character)__p.bb.Get(o + __p.bb_pos) : Character.NONE; } }
Austin Schuh272c6132020-11-14 16:37:52 -080021 public TTable? MainCharacter<TTable>() where TTable : struct, IFlatbufferObject { int o = __p.__offset(6); return o != 0 ? (TTable?)__p.__union<TTable>(o + __p.bb_pos) : null; }
22 public string MainCharacterAsString() { int o = __p.__offset(6); return o != 0 ? __p.__string(o + __p.bb_pos) : null; }
23 public Attacker MainCharacterAsMuLan() { return MainCharacter<Attacker>().Value; }
24 public Rapunzel MainCharacterAsRapunzel() { return MainCharacter<Rapunzel>().Value; }
25 public BookReader MainCharacterAsBelle() { return MainCharacter<BookReader>().Value; }
26 public BookReader MainCharacterAsBookFan() { return MainCharacter<BookReader>().Value; }
27 public string MainCharacterAsOther() { return MainCharacterAsString(); }
28 public string MainCharacterAsUnused() { return MainCharacterAsString(); }
Austin Schuhe89fa2d2019-08-14 20:24:23 -070029 public Character CharactersType(int j) { int o = __p.__offset(8); return o != 0 ? (Character)__p.bb.Get(__p.__vector(o) + j * 1) : (Character)0; }
30 public int CharactersTypeLength { get { int o = __p.__offset(8); return o != 0 ? __p.__vector_len(o) : 0; } }
31#if ENABLE_SPAN_T
Austin Schuh272c6132020-11-14 16:37:52 -080032 public Span<Character> GetCharactersTypeBytes() { return __p.__vector_as_span<Character>(8, 1); }
Austin Schuhe89fa2d2019-08-14 20:24:23 -070033#else
34 public ArraySegment<byte>? GetCharactersTypeBytes() { return __p.__vector_as_arraysegment(8); }
35#endif
Austin Schuh272c6132020-11-14 16:37:52 -080036 public Character[] GetCharactersTypeArray() { int o = __p.__offset(8); if (o == 0) return null; int p = __p.__vector(o); int l = __p.__vector_len(o); Character[] a = new Character[l]; for (int i = 0; i < l; i++) { a[i] = (Character)__p.bb.Get(p + i * 1); } return a; }
37 public TTable? Characters<TTable>(int j) where TTable : struct, IFlatbufferObject { int o = __p.__offset(10); return o != 0 ? (TTable?)__p.__union<TTable>(__p.__vector(o) + j * 4) : null; }
38 public string CharactersAsString(int j) { int o = __p.__offset(10); return o != 0 ? __p.__string(__p.__vector(o) + j * 4) : null; }
Austin Schuhe89fa2d2019-08-14 20:24:23 -070039 public int CharactersLength { get { int o = __p.__offset(10); return o != 0 ? __p.__vector_len(o) : 0; } }
40
41 public static Offset<Movie> CreateMovie(FlatBufferBuilder builder,
42 Character main_character_type = Character.NONE,
43 int main_characterOffset = 0,
44 VectorOffset characters_typeOffset = default(VectorOffset),
45 VectorOffset charactersOffset = default(VectorOffset)) {
46 builder.StartTable(4);
47 Movie.AddCharacters(builder, charactersOffset);
48 Movie.AddCharactersType(builder, characters_typeOffset);
49 Movie.AddMainCharacter(builder, main_characterOffset);
50 Movie.AddMainCharacterType(builder, main_character_type);
51 return Movie.EndMovie(builder);
52 }
53
54 public static void StartMovie(FlatBufferBuilder builder) { builder.StartTable(4); }
55 public static void AddMainCharacterType(FlatBufferBuilder builder, Character mainCharacterType) { builder.AddByte(0, (byte)mainCharacterType, 0); }
56 public static void AddMainCharacter(FlatBufferBuilder builder, int mainCharacterOffset) { builder.AddOffset(1, mainCharacterOffset, 0); }
57 public static void AddCharactersType(FlatBufferBuilder builder, VectorOffset charactersTypeOffset) { builder.AddOffset(2, charactersTypeOffset.Value, 0); }
58 public static VectorOffset CreateCharactersTypeVector(FlatBufferBuilder builder, Character[] data) { builder.StartVector(1, data.Length, 1); for (int i = data.Length - 1; i >= 0; i--) builder.AddByte((byte)data[i]); return builder.EndVector(); }
59 public static VectorOffset CreateCharactersTypeVectorBlock(FlatBufferBuilder builder, Character[] data) { builder.StartVector(1, data.Length, 1); builder.Add(data); return builder.EndVector(); }
Austin Schuh2dd86a92022-09-14 21:19:23 -070060 public static VectorOffset CreateCharactersTypeVectorBlock(FlatBufferBuilder builder, ArraySegment<Character> data) { builder.StartVector(1, data.Count, 1); builder.Add(data); return builder.EndVector(); }
61 public static VectorOffset CreateCharactersTypeVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add<Character>(dataPtr, sizeInBytes); return builder.EndVector(); }
Austin Schuhe89fa2d2019-08-14 20:24:23 -070062 public static void StartCharactersTypeVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(1, numElems, 1); }
63 public static void AddCharacters(FlatBufferBuilder builder, VectorOffset charactersOffset) { builder.AddOffset(3, charactersOffset.Value, 0); }
64 public static VectorOffset CreateCharactersVector(FlatBufferBuilder builder, int[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddOffset(data[i]); return builder.EndVector(); }
65 public static VectorOffset CreateCharactersVectorBlock(FlatBufferBuilder builder, int[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); }
Austin Schuh2dd86a92022-09-14 21:19:23 -070066 public static VectorOffset CreateCharactersVectorBlock(FlatBufferBuilder builder, ArraySegment<int> data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); }
67 public static VectorOffset CreateCharactersVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add<int>(dataPtr, sizeInBytes); return builder.EndVector(); }
Austin Schuhe89fa2d2019-08-14 20:24:23 -070068 public static void StartCharactersVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
69 public static Offset<Movie> EndMovie(FlatBufferBuilder builder) {
70 int o = builder.EndTable();
71 return new Offset<Movie>(o);
72 }
73 public static void FinishMovieBuffer(FlatBufferBuilder builder, Offset<Movie> offset) { builder.Finish(offset.Value, "MOVI"); }
74 public static void FinishSizePrefixedMovieBuffer(FlatBufferBuilder builder, Offset<Movie> offset) { builder.FinishSizePrefixed(offset.Value, "MOVI"); }
Austin Schuh272c6132020-11-14 16:37:52 -080075 public MovieT UnPack() {
76 var _o = new MovieT();
77 this.UnPackTo(_o);
78 return _o;
79 }
80 public void UnPackTo(MovieT _o) {
81 _o.MainCharacter = new CharacterUnion();
82 _o.MainCharacter.Type = this.MainCharacterType;
83 switch (this.MainCharacterType) {
84 default: break;
85 case Character.MuLan:
86 _o.MainCharacter.Value = this.MainCharacter<Attacker>().HasValue ? this.MainCharacter<Attacker>().Value.UnPack() : null;
87 break;
88 case Character.Rapunzel:
89 _o.MainCharacter.Value = this.MainCharacter<Rapunzel>().HasValue ? this.MainCharacter<Rapunzel>().Value.UnPack() : null;
90 break;
91 case Character.Belle:
92 _o.MainCharacter.Value = this.MainCharacter<BookReader>().HasValue ? this.MainCharacter<BookReader>().Value.UnPack() : null;
93 break;
94 case Character.BookFan:
95 _o.MainCharacter.Value = this.MainCharacter<BookReader>().HasValue ? this.MainCharacter<BookReader>().Value.UnPack() : null;
96 break;
97 case Character.Other:
98 _o.MainCharacter.Value = this.MainCharacterAsString();
99 break;
100 case Character.Unused:
101 _o.MainCharacter.Value = this.MainCharacterAsString();
102 break;
103 }
104 _o.Characters = new List<CharacterUnion>();
105 for (var _j = 0; _j < this.CharactersLength; ++_j) {
106 var _o_Characters = new CharacterUnion();
107 _o_Characters.Type = this.CharactersType(_j);
108 switch (this.CharactersType(_j)) {
109 default: break;
110 case Character.MuLan:
111 _o_Characters.Value = this.Characters<Attacker>(_j).HasValue ? this.Characters<Attacker>(_j).Value.UnPack() : null;
112 break;
113 case Character.Rapunzel:
114 _o_Characters.Value = this.Characters<Rapunzel>(_j).HasValue ? this.Characters<Rapunzel>(_j).Value.UnPack() : null;
115 break;
116 case Character.Belle:
117 _o_Characters.Value = this.Characters<BookReader>(_j).HasValue ? this.Characters<BookReader>(_j).Value.UnPack() : null;
118 break;
119 case Character.BookFan:
120 _o_Characters.Value = this.Characters<BookReader>(_j).HasValue ? this.Characters<BookReader>(_j).Value.UnPack() : null;
121 break;
122 case Character.Other:
123 _o_Characters.Value = this.CharactersAsString(_j);
124 break;
125 case Character.Unused:
126 _o_Characters.Value = this.CharactersAsString(_j);
127 break;
128 }
129 _o.Characters.Add(_o_Characters);
130 }
131 }
132 public static Offset<Movie> Pack(FlatBufferBuilder builder, MovieT _o) {
133 if (_o == null) return default(Offset<Movie>);
134 var _main_character_type = _o.MainCharacter == null ? Character.NONE : _o.MainCharacter.Type;
135 var _main_character = _o.MainCharacter == null ? 0 : CharacterUnion.Pack(builder, _o.MainCharacter);
136 var _characters_type = default(VectorOffset);
137 if (_o.Characters != null) {
138 var __characters_type = new Character[_o.Characters.Count];
139 for (var _j = 0; _j < __characters_type.Length; ++_j) { __characters_type[_j] = _o.Characters[_j].Type; }
140 _characters_type = CreateCharactersTypeVector(builder, __characters_type);
141 }
142 var _characters = default(VectorOffset);
143 if (_o.Characters != null) {
144 var __characters = new int[_o.Characters.Count];
145 for (var _j = 0; _j < __characters.Length; ++_j) { __characters[_j] = CharacterUnion.Pack(builder, _o.Characters[_j]); }
146 _characters = CreateCharactersVector(builder, __characters);
147 }
148 return CreateMovie(
149 builder,
150 _main_character_type,
151 _main_character,
152 _characters_type,
153 _characters);
154 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700155}
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700156
Austin Schuh272c6132020-11-14 16:37:52 -0800157public class MovieT
158{
159 [Newtonsoft.Json.JsonProperty("main_character_type")]
160 private Character MainCharacterType {
161 get {
162 return this.MainCharacter != null ? this.MainCharacter.Type : Character.NONE;
163 }
164 set {
165 this.MainCharacter = new CharacterUnion();
166 this.MainCharacter.Type = value;
167 }
168 }
169 [Newtonsoft.Json.JsonProperty("main_character")]
170 [Newtonsoft.Json.JsonConverter(typeof(CharacterUnion_JsonConverter))]
171 public CharacterUnion MainCharacter { get; set; }
172 [Newtonsoft.Json.JsonProperty("characters_type")]
173 private Character[] CharactersType {
174 get {
175 if (this.Characters == null) return null;
176 var _o = new Character[this.Characters.Count];
177 for (var _j = 0; _j < _o.Length; ++_j) { _o[_j] = this.Characters[_j].Type; }
178 return _o;
179 }
180 set {
181 this.Characters = new List<CharacterUnion>();
182 for (var _j = 0; _j < value.Length; ++_j) {
183 var _o = new CharacterUnion();
184 _o.Type = value[_j];
185 this.Characters.Add(_o);
186 }
187 }
188 }
189 [Newtonsoft.Json.JsonProperty("characters")]
190 [Newtonsoft.Json.JsonConverter(typeof(CharacterUnion_JsonConverter))]
191 public List<CharacterUnion> Characters { get; set; }
192
193 public MovieT() {
194 this.MainCharacter = null;
195 this.Characters = null;
196 }
197
198 public static MovieT DeserializeFromJson(string jsonText) {
199 return Newtonsoft.Json.JsonConvert.DeserializeObject<MovieT>(jsonText);
200 }
201 public string SerializeToJson() {
202 return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
203 }
204 public static MovieT DeserializeFromBinary(byte[] fbBuffer) {
205 return Movie.GetRootAsMovie(new ByteBuffer(fbBuffer)).UnPack();
206 }
207 public byte[] SerializeToBinary() {
208 var fbb = new FlatBufferBuilder(0x10000);
209 Movie.FinishMovieBuffer(fbb, Movie.Pack(fbb, this));
210 return fbb.DataBuffer.ToSizedArray();
211 }
212}
213