1 // <auto-generated> 2 // automatically generated by the FlatBuffers compiler, do not modify 3 // </auto-generated> 4 5 using global::System; 6 using global::System.Collections.Generic; 7 using global::Google.FlatBuffers; 8 9 public struct Movie : IFlatbufferObject 10 { 11 private Table __p; 12 public ByteBuffer ByteBuffer { get { return __p.bb; } } ValidateVersionMovie13 public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_25_1_24(); } GetRootAsMovieMovie14 public static Movie GetRootAsMovie(ByteBuffer _bb) { return GetRootAsMovie(_bb, new Movie()); } GetRootAsMovieMovie15 public static Movie GetRootAsMovie(ByteBuffer _bb, Movie obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); } MovieBufferHasIdentifierMovie16 public static bool MovieBufferHasIdentifier(ByteBuffer _bb) { return Table.__has_identifier(_bb, "MOVI"); } VerifyMovieMovie17 public static bool VerifyMovie(ByteBuffer _bb) {Google.FlatBuffers.Verifier verifier = new Google.FlatBuffers.Verifier(_bb); return verifier.VerifyBuffer("MOVI", false, MovieVerify.Verify); } __initMovie18 public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); } __assignMovie19 public Movie __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; } 20 21 public Character MainCharacterType { get { int o = __p.__offset(4); return o != 0 ? (Character)__p.bb.Get(o + __p.bb_pos) : Character.NONE; } } 22 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; } MainCharacterAsStringMovie23 public string MainCharacterAsString() { int o = __p.__offset(6); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } MainCharacterAsMuLanMovie24 public Attacker MainCharacterAsMuLan() { return MainCharacter<Attacker>().Value; } MainCharacterAsRapunzelMovie25 public Rapunzel MainCharacterAsRapunzel() { return MainCharacter<Rapunzel>().Value; } MainCharacterAsBelleMovie26 public BookReader MainCharacterAsBelle() { return MainCharacter<BookReader>().Value; } MainCharacterAsBookFanMovie27 public BookReader MainCharacterAsBookFan() { return MainCharacter<BookReader>().Value; } MainCharacterAsOtherMovie28 public string MainCharacterAsOther() { return MainCharacterAsString(); } MainCharacterAsUnusedMovie29 public string MainCharacterAsUnused() { return MainCharacterAsString(); } CharactersTypeMovie30 public Character CharactersType(int j) { int o = __p.__offset(8); return o != 0 ? (Character)__p.bb.Get(__p.__vector(o) + j * 1) : (Character)0; } 31 public int CharactersTypeLength { get { int o = __p.__offset(8); return o != 0 ? __p.__vector_len(o) : 0; } } 32 #if ENABLE_SPAN_T GetCharactersTypeBytesMovie33 public Span<Character> GetCharactersTypeBytes() { return __p.__vector_as_span<Character>(8, 1); } 34 #else GetCharactersTypeBytesMovie35 public ArraySegment<byte>? GetCharactersTypeBytes() { return __p.__vector_as_arraysegment(8); } 36 #endif GetCharactersTypeArrayMovie37 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; } 38 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; } CharactersAsStringMovie39 public string CharactersAsString(int j) { int o = __p.__offset(10); return o != 0 ? __p.__string(__p.__vector(o) + j * 4) : null; } 40 public int CharactersLength { get { int o = __p.__offset(10); return o != 0 ? __p.__vector_len(o) : 0; } } 41 CreateMovieMovie42 public static Offset<Movie> CreateMovie(FlatBufferBuilder builder, 43 Character main_character_type = Character.NONE, 44 int main_characterOffset = 0, 45 VectorOffset characters_typeOffset = default(VectorOffset), 46 VectorOffset charactersOffset = default(VectorOffset)) { 47 builder.StartTable(4); 48 Movie.AddCharacters(builder, charactersOffset); 49 Movie.AddCharactersType(builder, characters_typeOffset); 50 Movie.AddMainCharacter(builder, main_characterOffset); 51 Movie.AddMainCharacterType(builder, main_character_type); 52 return Movie.EndMovie(builder); 53 } 54 StartMovieMovie55 public static void StartMovie(FlatBufferBuilder builder) { builder.StartTable(4); } AddMainCharacterTypeMovie56 public static void AddMainCharacterType(FlatBufferBuilder builder, Character mainCharacterType) { builder.AddByte(0, (byte)mainCharacterType, 0); } AddMainCharacterMovie57 public static void AddMainCharacter(FlatBufferBuilder builder, int mainCharacterOffset) { builder.AddOffset(1, mainCharacterOffset, 0); } AddCharactersTypeMovie58 public static void AddCharactersType(FlatBufferBuilder builder, VectorOffset charactersTypeOffset) { builder.AddOffset(2, charactersTypeOffset.Value, 0); } CreateCharactersTypeVectorMovie59 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(); } CreateCharactersTypeVectorBlockMovie60 public static VectorOffset CreateCharactersTypeVectorBlock(FlatBufferBuilder builder, Character[] data) { builder.StartVector(1, data.Length, 1); builder.Add(data); return builder.EndVector(); } CreateCharactersTypeVectorBlockMovie61 public static VectorOffset CreateCharactersTypeVectorBlock(FlatBufferBuilder builder, ArraySegment<Character> data) { builder.StartVector(1, data.Count, 1); builder.Add(data); return builder.EndVector(); } CreateCharactersTypeVectorBlockMovie62 public static VectorOffset CreateCharactersTypeVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add<Character>(dataPtr, sizeInBytes); return builder.EndVector(); } StartCharactersTypeVectorMovie63 public static void StartCharactersTypeVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(1, numElems, 1); } AddCharactersMovie64 public static void AddCharacters(FlatBufferBuilder builder, VectorOffset charactersOffset) { builder.AddOffset(3, charactersOffset.Value, 0); } CreateCharactersVectorMovie65 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(); } CreateCharactersVectorBlockMovie66 public static VectorOffset CreateCharactersVectorBlock(FlatBufferBuilder builder, int[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); } CreateCharactersVectorBlockMovie67 public static VectorOffset CreateCharactersVectorBlock(FlatBufferBuilder builder, ArraySegment<int> data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); } CreateCharactersVectorBlockMovie68 public static VectorOffset CreateCharactersVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add<int>(dataPtr, sizeInBytes); return builder.EndVector(); } StartCharactersVectorMovie69 public static void StartCharactersVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); } EndMovieMovie70 public static Offset<Movie> EndMovie(FlatBufferBuilder builder) { 71 int o = builder.EndTable(); 72 return new Offset<Movie>(o); 73 } FinishMovieBufferMovie74 public static void FinishMovieBuffer(FlatBufferBuilder builder, Offset<Movie> offset) { builder.Finish(offset.Value, "MOVI"); } FinishSizePrefixedMovieBufferMovie75 public static void FinishSizePrefixedMovieBuffer(FlatBufferBuilder builder, Offset<Movie> offset) { builder.FinishSizePrefixed(offset.Value, "MOVI"); } UnPackMovie76 public MovieT UnPack() { 77 var _o = new MovieT(); 78 this.UnPackTo(_o); 79 return _o; 80 } UnPackToMovie81 public void UnPackTo(MovieT _o) { 82 _o.MainCharacter = new CharacterUnion(); 83 _o.MainCharacter.Type = this.MainCharacterType; 84 switch (this.MainCharacterType) { 85 default: break; 86 case Character.MuLan: 87 _o.MainCharacter.Value = this.MainCharacter<Attacker>().HasValue ? this.MainCharacter<Attacker>().Value.UnPack() : null; 88 break; 89 case Character.Rapunzel: 90 _o.MainCharacter.Value = this.MainCharacter<Rapunzel>().HasValue ? this.MainCharacter<Rapunzel>().Value.UnPack() : null; 91 break; 92 case Character.Belle: 93 _o.MainCharacter.Value = this.MainCharacter<BookReader>().HasValue ? this.MainCharacter<BookReader>().Value.UnPack() : null; 94 break; 95 case Character.BookFan: 96 _o.MainCharacter.Value = this.MainCharacter<BookReader>().HasValue ? this.MainCharacter<BookReader>().Value.UnPack() : null; 97 break; 98 case Character.Other: 99 _o.MainCharacter.Value = this.MainCharacterAsString(); 100 break; 101 case Character.Unused: 102 _o.MainCharacter.Value = this.MainCharacterAsString(); 103 break; 104 } 105 _o.Characters = new List<CharacterUnion>(); 106 for (var _j = 0; _j < this.CharactersLength; ++_j) { 107 var _o_Characters = new CharacterUnion(); 108 _o_Characters.Type = this.CharactersType(_j); 109 switch (this.CharactersType(_j)) { 110 default: break; 111 case Character.MuLan: 112 _o_Characters.Value = this.Characters<Attacker>(_j).HasValue ? this.Characters<Attacker>(_j).Value.UnPack() : null; 113 break; 114 case Character.Rapunzel: 115 _o_Characters.Value = this.Characters<Rapunzel>(_j).HasValue ? this.Characters<Rapunzel>(_j).Value.UnPack() : null; 116 break; 117 case Character.Belle: 118 _o_Characters.Value = this.Characters<BookReader>(_j).HasValue ? this.Characters<BookReader>(_j).Value.UnPack() : null; 119 break; 120 case Character.BookFan: 121 _o_Characters.Value = this.Characters<BookReader>(_j).HasValue ? this.Characters<BookReader>(_j).Value.UnPack() : null; 122 break; 123 case Character.Other: 124 _o_Characters.Value = this.CharactersAsString(_j); 125 break; 126 case Character.Unused: 127 _o_Characters.Value = this.CharactersAsString(_j); 128 break; 129 } 130 _o.Characters.Add(_o_Characters); 131 } 132 } PackMovie133 public static Offset<Movie> Pack(FlatBufferBuilder builder, MovieT _o) { 134 if (_o == null) return default(Offset<Movie>); 135 var _main_character_type = _o.MainCharacter == null ? Character.NONE : _o.MainCharacter.Type; 136 var _main_character = _o.MainCharacter == null ? 0 : CharacterUnion.Pack(builder, _o.MainCharacter); 137 var _characters_type = default(VectorOffset); 138 if (_o.Characters != null) { 139 var __characters_type = new Character[_o.Characters.Count]; 140 for (var _j = 0; _j < __characters_type.Length; ++_j) { __characters_type[_j] = _o.Characters[_j].Type; } 141 _characters_type = CreateCharactersTypeVector(builder, __characters_type); 142 } 143 var _characters = default(VectorOffset); 144 if (_o.Characters != null) { 145 var __characters = new int[_o.Characters.Count]; 146 for (var _j = 0; _j < __characters.Length; ++_j) { __characters[_j] = CharacterUnion.Pack(builder, _o.Characters[_j]); } 147 _characters = CreateCharactersVector(builder, __characters); 148 } 149 return CreateMovie( 150 builder, 151 _main_character_type, 152 _main_character, 153 _characters_type, 154 _characters); 155 } 156 } 157 158 public class MovieT 159 { 160 [Newtonsoft.Json.JsonProperty("main_character_type")] 161 private Character MainCharacterType { 162 get { 163 return this.MainCharacter != null ? this.MainCharacter.Type : Character.NONE; 164 } 165 set { 166 this.MainCharacter = new CharacterUnion(); 167 this.MainCharacter.Type = value; 168 } 169 } 170 [Newtonsoft.Json.JsonProperty("main_character")] 171 [Newtonsoft.Json.JsonConverter(typeof(CharacterUnion_JsonConverter))] 172 public CharacterUnion MainCharacter { get; set; } 173 [Newtonsoft.Json.JsonProperty("characters_type")] 174 private Character[] CharactersType { 175 get { 176 if (this.Characters == null) return null; 177 var _o = new Character[this.Characters.Count]; 178 for (var _j = 0; _j < _o.Length; ++_j) { _o[_j] = this.Characters[_j].Type; } 179 return _o; 180 } 181 set { 182 this.Characters = new List<CharacterUnion>(); 183 for (var _j = 0; _j < value.Length; ++_j) { 184 var _o = new CharacterUnion(); 185 _o.Type = value[_j]; 186 this.Characters.Add(_o); 187 } 188 } 189 } 190 [Newtonsoft.Json.JsonProperty("characters")] 191 [Newtonsoft.Json.JsonConverter(typeof(CharacterUnion_JsonConverter))] 192 public List<CharacterUnion> Characters { get; set; } 193 MovieT()194 public MovieT() { 195 this.MainCharacter = null; 196 this.Characters = null; 197 } 198 DeserializeFromJson(string jsonText)199 public static MovieT DeserializeFromJson(string jsonText) { 200 return Newtonsoft.Json.JsonConvert.DeserializeObject<MovieT>(jsonText); 201 } SerializeToJson()202 public string SerializeToJson() { 203 return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); 204 } DeserializeFromBinary(byte[] fbBuffer)205 public static MovieT DeserializeFromBinary(byte[] fbBuffer) { 206 return Movie.GetRootAsMovie(new ByteBuffer(fbBuffer)).UnPack(); 207 } SerializeToBinary()208 public byte[] SerializeToBinary() { 209 var fbb = new FlatBufferBuilder(0x10000); 210 Movie.FinishMovieBuffer(fbb, Movie.Pack(fbb, this)); 211 return fbb.DataBuffer.ToSizedArray(); 212 } 213 } 214 215 216 static public class MovieVerify 217 { Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)218 static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos) 219 { 220 return verifier.VerifyTableStart(tablePos) 221 && verifier.VerifyField(tablePos, 4 /*MainCharacterType*/, 1 /*Character*/, 1, false) 222 && verifier.VerifyUnion(tablePos, 4, 6 /*MainCharacter*/, CharacterVerify.Verify, false) 223 && verifier.VerifyVectorOfData(tablePos, 8 /*CharactersType*/, 1 /*Character*/, false) 224 && verifier.VerifyTableEnd(tablePos); 225 } 226 } 227