• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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