1// automatically generated by the FlatBuffers compiler, do not modify
2
3/**
4 * @enum
5 */
6export enum Character{
7  NONE= 0,
8  MuLan= 1,
9  Rapunzel= 2,
10  Belle= 3,
11  BookFan= 4,
12  Other= 5,
13  Unused= 6
14};
15
16/**
17 * @constructor
18 */
19export class Attacker {
20  /**
21   * @type {flatbuffers.ByteBuffer}
22   */
23  bb: flatbuffers.ByteBuffer;
24
25  /**
26   * @type {number}
27   */
28  bb_pos:number = 0;
29/**
30 * @param {number} i
31 * @param {flatbuffers.ByteBuffer} bb
32 * @returns {Attacker}
33 */
34__init(i:number, bb:flatbuffers.ByteBuffer):Attacker {
35  this.bb_pos = i;
36  this.bb = bb;
37  return this;
38};
39
40/**
41 * @param {flatbuffers.ByteBuffer} bb
42 * @param {Attacker=} obj
43 * @returns {Attacker}
44 */
45static getRootAsAttacker(bb:flatbuffers.ByteBuffer, obj?:Attacker):Attacker {
46  return (obj || new Attacker).__init(bb.readInt32(bb.position()) + bb.position(), bb);
47};
48
49/**
50 * @returns {number}
51 */
52swordAttackDamage():number {
53  var offset = this.bb.__offset(this.bb_pos, 4);
54  return offset ? this.bb.readInt32(this.bb_pos + offset) : 0;
55};
56
57/**
58 * @param {number} value
59 * @returns {boolean}
60 */
61mutate_sword_attack_damage(value:number):boolean {
62  var offset = this.bb.__offset(this.bb_pos, 4);
63
64  if (offset === 0) {
65    return false;
66  }
67
68  this.bb.writeInt32(this.bb_pos + offset, value);
69  return true;
70};
71
72/**
73 * @param {flatbuffers.Builder} builder
74 */
75static startAttacker(builder:flatbuffers.Builder) {
76  builder.startObject(1);
77};
78
79/**
80 * @param {flatbuffers.Builder} builder
81 * @param {number} swordAttackDamage
82 */
83static addSwordAttackDamage(builder:flatbuffers.Builder, swordAttackDamage:number) {
84  builder.addFieldInt32(0, swordAttackDamage, 0);
85};
86
87/**
88 * @param {flatbuffers.Builder} builder
89 * @returns {flatbuffers.Offset}
90 */
91static endAttacker(builder:flatbuffers.Builder):flatbuffers.Offset {
92  var offset = builder.endObject();
93  return offset;
94};
95
96}
97/**
98 * @constructor
99 */
100export class Rapunzel {
101  /**
102   * @type {flatbuffers.ByteBuffer}
103   */
104  bb: flatbuffers.ByteBuffer;
105
106  /**
107   * @type {number}
108   */
109  bb_pos:number = 0;
110/**
111 * @param {number} i
112 * @param {flatbuffers.ByteBuffer} bb
113 * @returns {Rapunzel}
114 */
115__init(i:number, bb:flatbuffers.ByteBuffer):Rapunzel {
116  this.bb_pos = i;
117  this.bb = bb;
118  return this;
119};
120
121/**
122 * @returns {number}
123 */
124hairLength():number {
125  return this.bb.readInt32(this.bb_pos);
126};
127
128/**
129 * @param {number} value
130 * @returns {boolean}
131 */
132mutate_hair_length(value:number):boolean {
133  var offset = this.bb.__offset(this.bb_pos, 0);
134
135  if (offset === 0) {
136    return false;
137  }
138
139  this.bb.writeInt32(this.bb_pos + offset, value);
140  return true;
141};
142
143/**
144 * @param {flatbuffers.Builder} builder
145 * @param {number} hair_length
146 * @returns {flatbuffers.Offset}
147 */
148static createRapunzel(builder:flatbuffers.Builder, hair_length: number):flatbuffers.Offset {
149  builder.prep(4, 4);
150  builder.writeInt32(hair_length);
151  return builder.offset();
152};
153
154}
155/**
156 * @constructor
157 */
158export class BookReader {
159  /**
160   * @type {flatbuffers.ByteBuffer}
161   */
162  bb: flatbuffers.ByteBuffer;
163
164  /**
165   * @type {number}
166   */
167  bb_pos:number = 0;
168/**
169 * @param {number} i
170 * @param {flatbuffers.ByteBuffer} bb
171 * @returns {BookReader}
172 */
173__init(i:number, bb:flatbuffers.ByteBuffer):BookReader {
174  this.bb_pos = i;
175  this.bb = bb;
176  return this;
177};
178
179/**
180 * @returns {number}
181 */
182booksRead():number {
183  return this.bb.readInt32(this.bb_pos);
184};
185
186/**
187 * @param {number} value
188 * @returns {boolean}
189 */
190mutate_books_read(value:number):boolean {
191  var offset = this.bb.__offset(this.bb_pos, 0);
192
193  if (offset === 0) {
194    return false;
195  }
196
197  this.bb.writeInt32(this.bb_pos + offset, value);
198  return true;
199};
200
201/**
202 * @param {flatbuffers.Builder} builder
203 * @param {number} books_read
204 * @returns {flatbuffers.Offset}
205 */
206static createBookReader(builder:flatbuffers.Builder, books_read: number):flatbuffers.Offset {
207  builder.prep(4, 4);
208  builder.writeInt32(books_read);
209  return builder.offset();
210};
211
212}
213/**
214 * @constructor
215 */
216export class Movie {
217  /**
218   * @type {flatbuffers.ByteBuffer}
219   */
220  bb: flatbuffers.ByteBuffer;
221
222  /**
223   * @type {number}
224   */
225  bb_pos:number = 0;
226/**
227 * @param {number} i
228 * @param {flatbuffers.ByteBuffer} bb
229 * @returns {Movie}
230 */
231__init(i:number, bb:flatbuffers.ByteBuffer):Movie {
232  this.bb_pos = i;
233  this.bb = bb;
234  return this;
235};
236
237/**
238 * @param {flatbuffers.ByteBuffer} bb
239 * @param {Movie=} obj
240 * @returns {Movie}
241 */
242static getRootAsMovie(bb:flatbuffers.ByteBuffer, obj?:Movie):Movie {
243  return (obj || new Movie).__init(bb.readInt32(bb.position()) + bb.position(), bb);
244};
245
246/**
247 * @param {flatbuffers.ByteBuffer} bb
248 * @returns {boolean}
249 */
250static bufferHasIdentifier(bb:flatbuffers.ByteBuffer):boolean {
251  return bb.__has_identifier('MOVI');
252};
253
254/**
255 * @returns {Character}
256 */
257mainCharacterType():Character {
258  var offset = this.bb.__offset(this.bb_pos, 4);
259  return offset ? /** @type {Character} */ (this.bb.readUint8(this.bb_pos + offset)) : Character.NONE;
260};
261
262/**
263 * @param {Character} value
264 * @returns {boolean}
265 */
266mutate_main_character_type(value:Character):boolean {
267  var offset = this.bb.__offset(this.bb_pos, 4);
268
269  if (offset === 0) {
270    return false;
271  }
272
273  this.bb.writeUint8(this.bb_pos + offset, value);
274  return true;
275};
276
277/**
278 * @param {flatbuffers.Table} obj
279 * @returns {?flatbuffers.Table}
280 */
281mainCharacter<T extends flatbuffers.Table>(obj:T):T|null {
282  var offset = this.bb.__offset(this.bb_pos, 6);
283  return offset ? this.bb.__union(obj, this.bb_pos + offset) : null;
284};
285
286/**
287 * @param {number} index
288 * @returns {Character}
289 */
290charactersType(index: number):Character|null {
291  var offset = this.bb.__offset(this.bb_pos, 8);
292  return offset ? /** @type {Character} */ (this.bb.readUint8(this.bb.__vector(this.bb_pos + offset) + index)) : /** @type {Character} */ (0);
293};
294
295/**
296 * @returns {number}
297 */
298charactersTypeLength():number {
299  var offset = this.bb.__offset(this.bb_pos, 8);
300  return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
301};
302
303/**
304 * @returns {Uint8Array}
305 */
306charactersTypeArray():Uint8Array|null {
307  var offset = this.bb.__offset(this.bb_pos, 8);
308  return offset ? new Uint8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
309};
310
311/**
312 * @param {number} index
313 * @param {flatbuffers.Table=} obj
314 * @returns {?flatbuffers.Table}
315 */
316characters<T extends flatbuffers.Table>(index: number, obj:T):T|null {
317  var offset = this.bb.__offset(this.bb_pos, 10);
318  return offset ? this.bb.__union(obj, this.bb.__vector(this.bb_pos + offset) + index * 4) : null;
319};
320
321/**
322 * @returns {number}
323 */
324charactersLength():number {
325  var offset = this.bb.__offset(this.bb_pos, 10);
326  return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
327};
328
329/**
330 * @param {flatbuffers.Builder} builder
331 */
332static startMovie(builder:flatbuffers.Builder) {
333  builder.startObject(4);
334};
335
336/**
337 * @param {flatbuffers.Builder} builder
338 * @param {Character} mainCharacterType
339 */
340static addMainCharacterType(builder:flatbuffers.Builder, mainCharacterType:Character) {
341  builder.addFieldInt8(0, mainCharacterType, Character.NONE);
342};
343
344/**
345 * @param {flatbuffers.Builder} builder
346 * @param {flatbuffers.Offset} mainCharacterOffset
347 */
348static addMainCharacter(builder:flatbuffers.Builder, mainCharacterOffset:flatbuffers.Offset) {
349  builder.addFieldOffset(1, mainCharacterOffset, 0);
350};
351
352/**
353 * @param {flatbuffers.Builder} builder
354 * @param {flatbuffers.Offset} charactersTypeOffset
355 */
356static addCharactersType(builder:flatbuffers.Builder, charactersTypeOffset:flatbuffers.Offset) {
357  builder.addFieldOffset(2, charactersTypeOffset, 0);
358};
359
360/**
361 * @param {flatbuffers.Builder} builder
362 * @param {Array.<Character>} data
363 * @returns {flatbuffers.Offset}
364 */
365static createCharactersTypeVector(builder:flatbuffers.Builder, data:Character[]):flatbuffers.Offset {
366  builder.startVector(1, data.length, 1);
367  for (var i = data.length - 1; i >= 0; i--) {
368    builder.addInt8(data[i]);
369  }
370  return builder.endVector();
371};
372
373/**
374 * @param {flatbuffers.Builder} builder
375 * @param {number} numElems
376 */
377static startCharactersTypeVector(builder:flatbuffers.Builder, numElems:number) {
378  builder.startVector(1, numElems, 1);
379};
380
381/**
382 * @param {flatbuffers.Builder} builder
383 * @param {flatbuffers.Offset} charactersOffset
384 */
385static addCharacters(builder:flatbuffers.Builder, charactersOffset:flatbuffers.Offset) {
386  builder.addFieldOffset(3, charactersOffset, 0);
387};
388
389/**
390 * @param {flatbuffers.Builder} builder
391 * @param {Array.<flatbuffers.Offset>} data
392 * @returns {flatbuffers.Offset}
393 */
394static createCharactersVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {
395  builder.startVector(4, data.length, 4);
396  for (var i = data.length - 1; i >= 0; i--) {
397    builder.addOffset(data[i]);
398  }
399  return builder.endVector();
400};
401
402/**
403 * @param {flatbuffers.Builder} builder
404 * @param {number} numElems
405 */
406static startCharactersVector(builder:flatbuffers.Builder, numElems:number) {
407  builder.startVector(4, numElems, 4);
408};
409
410/**
411 * @param {flatbuffers.Builder} builder
412 * @returns {flatbuffers.Offset}
413 */
414static endMovie(builder:flatbuffers.Builder):flatbuffers.Offset {
415  var offset = builder.endObject();
416  return offset;
417};
418
419/**
420 * @param {flatbuffers.Builder} builder
421 * @param {flatbuffers.Offset} offset
422 */
423static finishMovieBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {
424  builder.finish(offset, 'MOVI');
425};
426
427}
428