xref: /aosp_15_r20/external/flatbuffers/dart/test/monster_test_my_game.example_generated.dart (revision 890232f25432b36107d06881e0a25aaa6b473652)
1// automatically generated by the FlatBuffers compiler, do not modify
2// ignore_for_file: unused_import, unused_field, unused_element, unused_local_variable
3
4library my_game.example;
5
6import 'dart:typed_data' show Uint8List;
7import 'package:flat_buffers/flat_buffers.dart' as fb;
8
9import './monster_test_my_game_generated.dart' as my_game;
10import './monster_test_my_game.example2_generated.dart' as my_game_example2;
11
12///  Composite components of Monster color.
13class Color {
14  final int value;
15  const Color._(this.value);
16
17  factory Color.fromValue(int value) {
18    final result = values[value];
19    if (result == null) {
20      throw StateError('Invalid value $value for bit flag enum Color');
21    }
22    return result;
23  }
24
25  static Color? _createOrNull(int? value) =>
26      value == null ? null : Color.fromValue(value);
27
28  static bool containsValue(int value) => values.containsKey(value);
29
30  static const Color Red = Color._(1);
31
32  ///  \brief color Green
33  ///  Green is bit_flag with value (1u << 1)
34  static const Color Green = Color._(2);
35
36  ///  \brief color Blue (1u << 3)
37  static const Color Blue = Color._(8);
38  static const Map<int, Color> values = {
39    1: Red,
40    2: Green,
41    8: Blue};
42
43  static const fb.Reader<Color> reader = _ColorReader();
44
45  @override
46  String toString() {
47    return 'Color{value: $value}';
48  }
49}
50
51class _ColorReader extends fb.Reader<Color> {
52  const _ColorReader();
53
54  @override
55  int get size => 1;
56
57  @override
58  Color read(fb.BufferContext bc, int offset) =>
59      Color.fromValue(const fb.Uint8Reader().read(bc, offset));
60}
61
62class Race {
63  final int value;
64  const Race._(this.value);
65
66  factory Race.fromValue(int value) {
67    final result = values[value];
68    if (result == null) {
69      throw StateError('Invalid value $value for bit flag enum Race');
70    }
71    return result;
72  }
73
74  static Race? _createOrNull(int? value) =>
75      value == null ? null : Race.fromValue(value);
76
77  static const int minValue = -1;
78  static const int maxValue = 2;
79  static bool containsValue(int value) => values.containsKey(value);
80
81  static const Race None = Race._(-1);
82  static const Race Human = Race._(0);
83  static const Race Dwarf = Race._(1);
84  static const Race Elf = Race._(2);
85  static const Map<int, Race> values = {
86    -1: None,
87    0: Human,
88    1: Dwarf,
89    2: Elf};
90
91  static const fb.Reader<Race> reader = _RaceReader();
92
93  @override
94  String toString() {
95    return 'Race{value: $value}';
96  }
97}
98
99class _RaceReader extends fb.Reader<Race> {
100  const _RaceReader();
101
102  @override
103  int get size => 1;
104
105  @override
106  Race read(fb.BufferContext bc, int offset) =>
107      Race.fromValue(const fb.Int8Reader().read(bc, offset));
108}
109
110class AnyTypeId {
111  final int value;
112  const AnyTypeId._(this.value);
113
114  factory AnyTypeId.fromValue(int value) {
115    final result = values[value];
116    if (result == null) {
117      throw StateError('Invalid value $value for bit flag enum AnyTypeId');
118    }
119    return result;
120  }
121
122  static AnyTypeId? _createOrNull(int? value) =>
123      value == null ? null : AnyTypeId.fromValue(value);
124
125  static const int minValue = 0;
126  static const int maxValue = 3;
127  static bool containsValue(int value) => values.containsKey(value);
128
129  static const AnyTypeId NONE = AnyTypeId._(0);
130  static const AnyTypeId Monster = AnyTypeId._(1);
131  static const AnyTypeId TestSimpleTableWithEnum = AnyTypeId._(2);
132  static const AnyTypeId MyGame_Example2_Monster = AnyTypeId._(3);
133  static const Map<int, AnyTypeId> values = {
134    0: NONE,
135    1: Monster,
136    2: TestSimpleTableWithEnum,
137    3: MyGame_Example2_Monster};
138
139  static const fb.Reader<AnyTypeId> reader = _AnyTypeIdReader();
140
141  @override
142  String toString() {
143    return 'AnyTypeId{value: $value}';
144  }
145}
146
147class _AnyTypeIdReader extends fb.Reader<AnyTypeId> {
148  const _AnyTypeIdReader();
149
150  @override
151  int get size => 1;
152
153  @override
154  AnyTypeId read(fb.BufferContext bc, int offset) =>
155      AnyTypeId.fromValue(const fb.Uint8Reader().read(bc, offset));
156}
157
158class AnyUniqueAliasesTypeId {
159  final int value;
160  const AnyUniqueAliasesTypeId._(this.value);
161
162  factory AnyUniqueAliasesTypeId.fromValue(int value) {
163    final result = values[value];
164    if (result == null) {
165      throw StateError('Invalid value $value for bit flag enum AnyUniqueAliasesTypeId');
166    }
167    return result;
168  }
169
170  static AnyUniqueAliasesTypeId? _createOrNull(int? value) =>
171      value == null ? null : AnyUniqueAliasesTypeId.fromValue(value);
172
173  static const int minValue = 0;
174  static const int maxValue = 3;
175  static bool containsValue(int value) => values.containsKey(value);
176
177  static const AnyUniqueAliasesTypeId NONE = AnyUniqueAliasesTypeId._(0);
178  static const AnyUniqueAliasesTypeId M = AnyUniqueAliasesTypeId._(1);
179  static const AnyUniqueAliasesTypeId TS = AnyUniqueAliasesTypeId._(2);
180  static const AnyUniqueAliasesTypeId M2 = AnyUniqueAliasesTypeId._(3);
181  static const Map<int, AnyUniqueAliasesTypeId> values = {
182    0: NONE,
183    1: M,
184    2: TS,
185    3: M2};
186
187  static const fb.Reader<AnyUniqueAliasesTypeId> reader = _AnyUniqueAliasesTypeIdReader();
188
189  @override
190  String toString() {
191    return 'AnyUniqueAliasesTypeId{value: $value}';
192  }
193}
194
195class _AnyUniqueAliasesTypeIdReader extends fb.Reader<AnyUniqueAliasesTypeId> {
196  const _AnyUniqueAliasesTypeIdReader();
197
198  @override
199  int get size => 1;
200
201  @override
202  AnyUniqueAliasesTypeId read(fb.BufferContext bc, int offset) =>
203      AnyUniqueAliasesTypeId.fromValue(const fb.Uint8Reader().read(bc, offset));
204}
205
206class AnyAmbiguousAliasesTypeId {
207  final int value;
208  const AnyAmbiguousAliasesTypeId._(this.value);
209
210  factory AnyAmbiguousAliasesTypeId.fromValue(int value) {
211    final result = values[value];
212    if (result == null) {
213      throw StateError('Invalid value $value for bit flag enum AnyAmbiguousAliasesTypeId');
214    }
215    return result;
216  }
217
218  static AnyAmbiguousAliasesTypeId? _createOrNull(int? value) =>
219      value == null ? null : AnyAmbiguousAliasesTypeId.fromValue(value);
220
221  static const int minValue = 0;
222  static const int maxValue = 3;
223  static bool containsValue(int value) => values.containsKey(value);
224
225  static const AnyAmbiguousAliasesTypeId NONE = AnyAmbiguousAliasesTypeId._(0);
226  static const AnyAmbiguousAliasesTypeId M1 = AnyAmbiguousAliasesTypeId._(1);
227  static const AnyAmbiguousAliasesTypeId M2 = AnyAmbiguousAliasesTypeId._(2);
228  static const AnyAmbiguousAliasesTypeId M3 = AnyAmbiguousAliasesTypeId._(3);
229  static const Map<int, AnyAmbiguousAliasesTypeId> values = {
230    0: NONE,
231    1: M1,
232    2: M2,
233    3: M3};
234
235  static const fb.Reader<AnyAmbiguousAliasesTypeId> reader = _AnyAmbiguousAliasesTypeIdReader();
236
237  @override
238  String toString() {
239    return 'AnyAmbiguousAliasesTypeId{value: $value}';
240  }
241}
242
243class _AnyAmbiguousAliasesTypeIdReader extends fb.Reader<AnyAmbiguousAliasesTypeId> {
244  const _AnyAmbiguousAliasesTypeIdReader();
245
246  @override
247  int get size => 1;
248
249  @override
250  AnyAmbiguousAliasesTypeId read(fb.BufferContext bc, int offset) =>
251      AnyAmbiguousAliasesTypeId.fromValue(const fb.Uint8Reader().read(bc, offset));
252}
253
254class Test {
255  Test._(this._bc, this._bcOffset);
256
257  static const fb.Reader<Test> reader = _TestReader();
258
259  final fb.BufferContext _bc;
260  final int _bcOffset;
261
262  int get a => const fb.Int16Reader().read(_bc, _bcOffset + 0);
263  int get b => const fb.Int8Reader().read(_bc, _bcOffset + 2);
264
265  @override
266  String toString() {
267    return 'Test{a: $a, b: $b}';
268  }
269
270  TestT unpack() => TestT(
271      a: a,
272      b: b);
273
274  static int pack(fb.Builder fbBuilder, TestT? object) {
275    if (object == null) return 0;
276    return object.pack(fbBuilder);
277  }
278}
279
280class TestT implements fb.Packable {
281  int a;
282  int b;
283
284  TestT({
285      required this.a,
286      required this.b});
287
288  @override
289  int pack(fb.Builder fbBuilder) {
290    fbBuilder.pad(1);
291    fbBuilder.putInt8(b);
292    fbBuilder.putInt16(a);
293    return fbBuilder.offset;
294  }
295
296  @override
297  String toString() {
298    return 'TestT{a: $a, b: $b}';
299  }
300}
301
302class _TestReader extends fb.StructReader<Test> {
303  const _TestReader();
304
305  @override
306  int get size => 4;
307
308  @override
309  Test createObject(fb.BufferContext bc, int offset) =>
310    Test._(bc, offset);
311}
312
313class TestBuilder {
314  TestBuilder(this.fbBuilder);
315
316  final fb.Builder fbBuilder;
317
318  int finish(int a, int b) {
319    fbBuilder.pad(1);
320    fbBuilder.putInt8(b);
321    fbBuilder.putInt16(a);
322    return fbBuilder.offset;
323  }
324
325}
326
327class TestObjectBuilder extends fb.ObjectBuilder {
328  final int _a;
329  final int _b;
330
331  TestObjectBuilder({
332    required int a,
333    required int b,
334  })
335      : _a = a,
336        _b = b;
337
338  /// Finish building, and store into the [fbBuilder].
339  @override
340  int finish(fb.Builder fbBuilder) {
341    fbBuilder.pad(1);
342    fbBuilder.putInt8(_b);
343    fbBuilder.putInt16(_a);
344    return fbBuilder.offset;
345  }
346
347  /// Convenience method to serialize to byte list.
348  @override
349  Uint8List toBytes([String? fileIdentifier]) {
350    final fbBuilder = fb.Builder(deduplicateTables: false);
351    fbBuilder.finish(finish(fbBuilder), fileIdentifier);
352    return fbBuilder.buffer;
353  }
354}
355class TestSimpleTableWithEnum {
356  TestSimpleTableWithEnum._(this._bc, this._bcOffset);
357  factory TestSimpleTableWithEnum(List<int> bytes) {
358    final rootRef = fb.BufferContext.fromBytes(bytes);
359    return reader.read(rootRef, 0);
360  }
361
362  static const fb.Reader<TestSimpleTableWithEnum> reader = _TestSimpleTableWithEnumReader();
363
364  final fb.BufferContext _bc;
365  final int _bcOffset;
366
367  Color get color => Color.fromValue(const fb.Uint8Reader().vTableGet(_bc, _bcOffset, 4, 2));
368
369  @override
370  String toString() {
371    return 'TestSimpleTableWithEnum{color: $color}';
372  }
373
374  TestSimpleTableWithEnumT unpack() => TestSimpleTableWithEnumT(
375      color: color);
376
377  static int pack(fb.Builder fbBuilder, TestSimpleTableWithEnumT? object) {
378    if (object == null) return 0;
379    return object.pack(fbBuilder);
380  }
381}
382
383class TestSimpleTableWithEnumT implements fb.Packable {
384  Color color;
385
386  TestSimpleTableWithEnumT({
387      this.color = Color.Green});
388
389  @override
390  int pack(fb.Builder fbBuilder) {
391    fbBuilder.startTable(1);
392    fbBuilder.addUint8(0, color.value);
393    return fbBuilder.endTable();
394  }
395
396  @override
397  String toString() {
398    return 'TestSimpleTableWithEnumT{color: $color}';
399  }
400}
401
402class _TestSimpleTableWithEnumReader extends fb.TableReader<TestSimpleTableWithEnum> {
403  const _TestSimpleTableWithEnumReader();
404
405  @override
406  TestSimpleTableWithEnum createObject(fb.BufferContext bc, int offset) =>
407    TestSimpleTableWithEnum._(bc, offset);
408}
409
410class TestSimpleTableWithEnumBuilder {
411  TestSimpleTableWithEnumBuilder(this.fbBuilder);
412
413  final fb.Builder fbBuilder;
414
415  void begin() {
416    fbBuilder.startTable(1);
417  }
418
419  int addColor(Color? color) {
420    fbBuilder.addUint8(0, color?.value);
421    return fbBuilder.offset;
422  }
423
424  int finish() {
425    return fbBuilder.endTable();
426  }
427}
428
429class TestSimpleTableWithEnumObjectBuilder extends fb.ObjectBuilder {
430  final Color? _color;
431
432  TestSimpleTableWithEnumObjectBuilder({
433    Color? color,
434  })
435      : _color = color;
436
437  /// Finish building, and store into the [fbBuilder].
438  @override
439  int finish(fb.Builder fbBuilder) {
440    fbBuilder.startTable(1);
441    fbBuilder.addUint8(0, _color?.value);
442    return fbBuilder.endTable();
443  }
444
445  /// Convenience method to serialize to byte list.
446  @override
447  Uint8List toBytes([String? fileIdentifier]) {
448    final fbBuilder = fb.Builder(deduplicateTables: false);
449    fbBuilder.finish(finish(fbBuilder), fileIdentifier);
450    return fbBuilder.buffer;
451  }
452}
453class Vec3 {
454  Vec3._(this._bc, this._bcOffset);
455
456  static const fb.Reader<Vec3> reader = _Vec3Reader();
457
458  final fb.BufferContext _bc;
459  final int _bcOffset;
460
461  double get x => const fb.Float32Reader().read(_bc, _bcOffset + 0);
462  double get y => const fb.Float32Reader().read(_bc, _bcOffset + 4);
463  double get z => const fb.Float32Reader().read(_bc, _bcOffset + 8);
464  double get test1 => const fb.Float64Reader().read(_bc, _bcOffset + 16);
465  Color get test2 => Color.fromValue(const fb.Uint8Reader().read(_bc, _bcOffset + 24));
466  Test get test3 => Test.reader.read(_bc, _bcOffset + 26);
467
468  @override
469  String toString() {
470    return 'Vec3{x: $x, y: $y, z: $z, test1: $test1, test2: $test2, test3: $test3}';
471  }
472
473  Vec3T unpack() => Vec3T(
474      x: x,
475      y: y,
476      z: z,
477      test1: test1,
478      test2: test2,
479      test3: test3.unpack());
480
481  static int pack(fb.Builder fbBuilder, Vec3T? object) {
482    if (object == null) return 0;
483    return object.pack(fbBuilder);
484  }
485}
486
487class Vec3T implements fb.Packable {
488  double x;
489  double y;
490  double z;
491  double test1;
492  Color test2;
493  TestT test3;
494
495  Vec3T({
496      required this.x,
497      required this.y,
498      required this.z,
499      required this.test1,
500      required this.test2,
501      required this.test3});
502
503  @override
504  int pack(fb.Builder fbBuilder) {
505    fbBuilder.pad(2);
506    test3.pack(fbBuilder);
507    fbBuilder.pad(1);
508    fbBuilder.putUint8(test2.value);
509    fbBuilder.putFloat64(test1);
510    fbBuilder.pad(4);
511    fbBuilder.putFloat32(z);
512    fbBuilder.putFloat32(y);
513    fbBuilder.putFloat32(x);
514    return fbBuilder.offset;
515  }
516
517  @override
518  String toString() {
519    return 'Vec3T{x: $x, y: $y, z: $z, test1: $test1, test2: $test2, test3: $test3}';
520  }
521}
522
523class _Vec3Reader extends fb.StructReader<Vec3> {
524  const _Vec3Reader();
525
526  @override
527  int get size => 32;
528
529  @override
530  Vec3 createObject(fb.BufferContext bc, int offset) =>
531    Vec3._(bc, offset);
532}
533
534class Vec3Builder {
535  Vec3Builder(this.fbBuilder);
536
537  final fb.Builder fbBuilder;
538
539  int finish(double x, double y, double z, double test1, Color test2, fb.StructBuilder test3) {
540    fbBuilder.pad(2);
541    test3();
542    fbBuilder.pad(1);
543    fbBuilder.putUint8(test2.value);
544    fbBuilder.putFloat64(test1);
545    fbBuilder.pad(4);
546    fbBuilder.putFloat32(z);
547    fbBuilder.putFloat32(y);
548    fbBuilder.putFloat32(x);
549    return fbBuilder.offset;
550  }
551
552}
553
554class Vec3ObjectBuilder extends fb.ObjectBuilder {
555  final double _x;
556  final double _y;
557  final double _z;
558  final double _test1;
559  final Color _test2;
560  final TestObjectBuilder _test3;
561
562  Vec3ObjectBuilder({
563    required double x,
564    required double y,
565    required double z,
566    required double test1,
567    required Color test2,
568    required TestObjectBuilder test3,
569  })
570      : _x = x,
571        _y = y,
572        _z = z,
573        _test1 = test1,
574        _test2 = test2,
575        _test3 = test3;
576
577  /// Finish building, and store into the [fbBuilder].
578  @override
579  int finish(fb.Builder fbBuilder) {
580    fbBuilder.pad(2);
581    _test3.finish(fbBuilder);
582    fbBuilder.pad(1);
583    fbBuilder.putUint8(_test2.value);
584    fbBuilder.putFloat64(_test1);
585    fbBuilder.pad(4);
586    fbBuilder.putFloat32(_z);
587    fbBuilder.putFloat32(_y);
588    fbBuilder.putFloat32(_x);
589    return fbBuilder.offset;
590  }
591
592  /// Convenience method to serialize to byte list.
593  @override
594  Uint8List toBytes([String? fileIdentifier]) {
595    final fbBuilder = fb.Builder(deduplicateTables: false);
596    fbBuilder.finish(finish(fbBuilder), fileIdentifier);
597    return fbBuilder.buffer;
598  }
599}
600class Ability {
601  Ability._(this._bc, this._bcOffset);
602
603  static const fb.Reader<Ability> reader = _AbilityReader();
604
605  final fb.BufferContext _bc;
606  final int _bcOffset;
607
608  int get id => const fb.Uint32Reader().read(_bc, _bcOffset + 0);
609  int get distance => const fb.Uint32Reader().read(_bc, _bcOffset + 4);
610
611  @override
612  String toString() {
613    return 'Ability{id: $id, distance: $distance}';
614  }
615
616  AbilityT unpack() => AbilityT(
617      id: id,
618      distance: distance);
619
620  static int pack(fb.Builder fbBuilder, AbilityT? object) {
621    if (object == null) return 0;
622    return object.pack(fbBuilder);
623  }
624}
625
626class AbilityT implements fb.Packable {
627  int id;
628  int distance;
629
630  AbilityT({
631      required this.id,
632      required this.distance});
633
634  @override
635  int pack(fb.Builder fbBuilder) {
636    fbBuilder.putUint32(distance);
637    fbBuilder.putUint32(id);
638    return fbBuilder.offset;
639  }
640
641  @override
642  String toString() {
643    return 'AbilityT{id: $id, distance: $distance}';
644  }
645}
646
647class _AbilityReader extends fb.StructReader<Ability> {
648  const _AbilityReader();
649
650  @override
651  int get size => 8;
652
653  @override
654  Ability createObject(fb.BufferContext bc, int offset) =>
655    Ability._(bc, offset);
656}
657
658class AbilityBuilder {
659  AbilityBuilder(this.fbBuilder);
660
661  final fb.Builder fbBuilder;
662
663  int finish(int id, int distance) {
664    fbBuilder.putUint32(distance);
665    fbBuilder.putUint32(id);
666    return fbBuilder.offset;
667  }
668
669}
670
671class AbilityObjectBuilder extends fb.ObjectBuilder {
672  final int _id;
673  final int _distance;
674
675  AbilityObjectBuilder({
676    required int id,
677    required int distance,
678  })
679      : _id = id,
680        _distance = distance;
681
682  /// Finish building, and store into the [fbBuilder].
683  @override
684  int finish(fb.Builder fbBuilder) {
685    fbBuilder.putUint32(_distance);
686    fbBuilder.putUint32(_id);
687    return fbBuilder.offset;
688  }
689
690  /// Convenience method to serialize to byte list.
691  @override
692  Uint8List toBytes([String? fileIdentifier]) {
693    final fbBuilder = fb.Builder(deduplicateTables: false);
694    fbBuilder.finish(finish(fbBuilder), fileIdentifier);
695    return fbBuilder.buffer;
696  }
697}
698class StructOfStructs {
699  StructOfStructs._(this._bc, this._bcOffset);
700
701  static const fb.Reader<StructOfStructs> reader = _StructOfStructsReader();
702
703  final fb.BufferContext _bc;
704  final int _bcOffset;
705
706  Ability get a => Ability.reader.read(_bc, _bcOffset + 0);
707  Test get b => Test.reader.read(_bc, _bcOffset + 8);
708  Ability get c => Ability.reader.read(_bc, _bcOffset + 12);
709
710  @override
711  String toString() {
712    return 'StructOfStructs{a: $a, b: $b, c: $c}';
713  }
714
715  StructOfStructsT unpack() => StructOfStructsT(
716      a: a.unpack(),
717      b: b.unpack(),
718      c: c.unpack());
719
720  static int pack(fb.Builder fbBuilder, StructOfStructsT? object) {
721    if (object == null) return 0;
722    return object.pack(fbBuilder);
723  }
724}
725
726class StructOfStructsT implements fb.Packable {
727  AbilityT a;
728  TestT b;
729  AbilityT c;
730
731  StructOfStructsT({
732      required this.a,
733      required this.b,
734      required this.c});
735
736  @override
737  int pack(fb.Builder fbBuilder) {
738    c.pack(fbBuilder);
739    b.pack(fbBuilder);
740    a.pack(fbBuilder);
741    return fbBuilder.offset;
742  }
743
744  @override
745  String toString() {
746    return 'StructOfStructsT{a: $a, b: $b, c: $c}';
747  }
748}
749
750class _StructOfStructsReader extends fb.StructReader<StructOfStructs> {
751  const _StructOfStructsReader();
752
753  @override
754  int get size => 20;
755
756  @override
757  StructOfStructs createObject(fb.BufferContext bc, int offset) =>
758    StructOfStructs._(bc, offset);
759}
760
761class StructOfStructsBuilder {
762  StructOfStructsBuilder(this.fbBuilder);
763
764  final fb.Builder fbBuilder;
765
766  int finish(fb.StructBuilder a, fb.StructBuilder b, fb.StructBuilder c) {
767    c();
768    b();
769    a();
770    return fbBuilder.offset;
771  }
772
773}
774
775class StructOfStructsObjectBuilder extends fb.ObjectBuilder {
776  final AbilityObjectBuilder _a;
777  final TestObjectBuilder _b;
778  final AbilityObjectBuilder _c;
779
780  StructOfStructsObjectBuilder({
781    required AbilityObjectBuilder a,
782    required TestObjectBuilder b,
783    required AbilityObjectBuilder c,
784  })
785      : _a = a,
786        _b = b,
787        _c = c;
788
789  /// Finish building, and store into the [fbBuilder].
790  @override
791  int finish(fb.Builder fbBuilder) {
792    _c.finish(fbBuilder);
793    _b.finish(fbBuilder);
794    _a.finish(fbBuilder);
795    return fbBuilder.offset;
796  }
797
798  /// Convenience method to serialize to byte list.
799  @override
800  Uint8List toBytes([String? fileIdentifier]) {
801    final fbBuilder = fb.Builder(deduplicateTables: false);
802    fbBuilder.finish(finish(fbBuilder), fileIdentifier);
803    return fbBuilder.buffer;
804  }
805}
806class Stat {
807  Stat._(this._bc, this._bcOffset);
808  factory Stat(List<int> bytes) {
809    final rootRef = fb.BufferContext.fromBytes(bytes);
810    return reader.read(rootRef, 0);
811  }
812
813  static const fb.Reader<Stat> reader = _StatReader();
814
815  final fb.BufferContext _bc;
816  final int _bcOffset;
817
818  String? get id => const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 4);
819  int get val => const fb.Int64Reader().vTableGet(_bc, _bcOffset, 6, 0);
820  int get count => const fb.Uint16Reader().vTableGet(_bc, _bcOffset, 8, 0);
821
822  @override
823  String toString() {
824    return 'Stat{id: $id, val: $val, count: $count}';
825  }
826
827  StatT unpack() => StatT(
828      id: id,
829      val: val,
830      count: count);
831
832  static int pack(fb.Builder fbBuilder, StatT? object) {
833    if (object == null) return 0;
834    return object.pack(fbBuilder);
835  }
836}
837
838class StatT implements fb.Packable {
839  String? id;
840  int val;
841  int count;
842
843  StatT({
844      this.id,
845      this.val = 0,
846      this.count = 0});
847
848  @override
849  int pack(fb.Builder fbBuilder) {
850    final int? idOffset = id == null ? null
851        : fbBuilder.writeString(id!);
852    fbBuilder.startTable(3);
853    fbBuilder.addOffset(0, idOffset);
854    fbBuilder.addInt64(1, val);
855    fbBuilder.addUint16(2, count);
856    return fbBuilder.endTable();
857  }
858
859  @override
860  String toString() {
861    return 'StatT{id: $id, val: $val, count: $count}';
862  }
863}
864
865class _StatReader extends fb.TableReader<Stat> {
866  const _StatReader();
867
868  @override
869  Stat createObject(fb.BufferContext bc, int offset) =>
870    Stat._(bc, offset);
871}
872
873class StatBuilder {
874  StatBuilder(this.fbBuilder);
875
876  final fb.Builder fbBuilder;
877
878  void begin() {
879    fbBuilder.startTable(3);
880  }
881
882  int addIdOffset(int? offset) {
883    fbBuilder.addOffset(0, offset);
884    return fbBuilder.offset;
885  }
886  int addVal(int? val) {
887    fbBuilder.addInt64(1, val);
888    return fbBuilder.offset;
889  }
890  int addCount(int? count) {
891    fbBuilder.addUint16(2, count);
892    return fbBuilder.offset;
893  }
894
895  int finish() {
896    return fbBuilder.endTable();
897  }
898}
899
900class StatObjectBuilder extends fb.ObjectBuilder {
901  final String? _id;
902  final int? _val;
903  final int? _count;
904
905  StatObjectBuilder({
906    String? id,
907    int? val,
908    int? count,
909  })
910      : _id = id,
911        _val = val,
912        _count = count;
913
914  /// Finish building, and store into the [fbBuilder].
915  @override
916  int finish(fb.Builder fbBuilder) {
917    final int? idOffset = _id == null ? null
918        : fbBuilder.writeString(_id!);
919    fbBuilder.startTable(3);
920    fbBuilder.addOffset(0, idOffset);
921    fbBuilder.addInt64(1, _val);
922    fbBuilder.addUint16(2, _count);
923    return fbBuilder.endTable();
924  }
925
926  /// Convenience method to serialize to byte list.
927  @override
928  Uint8List toBytes([String? fileIdentifier]) {
929    final fbBuilder = fb.Builder(deduplicateTables: false);
930    fbBuilder.finish(finish(fbBuilder), fileIdentifier);
931    return fbBuilder.buffer;
932  }
933}
934class Referrable {
935  Referrable._(this._bc, this._bcOffset);
936  factory Referrable(List<int> bytes) {
937    final rootRef = fb.BufferContext.fromBytes(bytes);
938    return reader.read(rootRef, 0);
939  }
940
941  static const fb.Reader<Referrable> reader = _ReferrableReader();
942
943  final fb.BufferContext _bc;
944  final int _bcOffset;
945
946  int get id => const fb.Uint64Reader().vTableGet(_bc, _bcOffset, 4, 0);
947
948  @override
949  String toString() {
950    return 'Referrable{id: $id}';
951  }
952
953  ReferrableT unpack() => ReferrableT(
954      id: id);
955
956  static int pack(fb.Builder fbBuilder, ReferrableT? object) {
957    if (object == null) return 0;
958    return object.pack(fbBuilder);
959  }
960}
961
962class ReferrableT implements fb.Packable {
963  int id;
964
965  ReferrableT({
966      this.id = 0});
967
968  @override
969  int pack(fb.Builder fbBuilder) {
970    fbBuilder.startTable(1);
971    fbBuilder.addUint64(0, id);
972    return fbBuilder.endTable();
973  }
974
975  @override
976  String toString() {
977    return 'ReferrableT{id: $id}';
978  }
979}
980
981class _ReferrableReader extends fb.TableReader<Referrable> {
982  const _ReferrableReader();
983
984  @override
985  Referrable createObject(fb.BufferContext bc, int offset) =>
986    Referrable._(bc, offset);
987}
988
989class ReferrableBuilder {
990  ReferrableBuilder(this.fbBuilder);
991
992  final fb.Builder fbBuilder;
993
994  void begin() {
995    fbBuilder.startTable(1);
996  }
997
998  int addId(int? id) {
999    fbBuilder.addUint64(0, id);
1000    return fbBuilder.offset;
1001  }
1002
1003  int finish() {
1004    return fbBuilder.endTable();
1005  }
1006}
1007
1008class ReferrableObjectBuilder extends fb.ObjectBuilder {
1009  final int? _id;
1010
1011  ReferrableObjectBuilder({
1012    int? id,
1013  })
1014      : _id = id;
1015
1016  /// Finish building, and store into the [fbBuilder].
1017  @override
1018  int finish(fb.Builder fbBuilder) {
1019    fbBuilder.startTable(1);
1020    fbBuilder.addUint64(0, _id);
1021    return fbBuilder.endTable();
1022  }
1023
1024  /// Convenience method to serialize to byte list.
1025  @override
1026  Uint8List toBytes([String? fileIdentifier]) {
1027    final fbBuilder = fb.Builder(deduplicateTables: false);
1028    fbBuilder.finish(finish(fbBuilder), fileIdentifier);
1029    return fbBuilder.buffer;
1030  }
1031}
1032///  an example documentation comment: "monster object"
1033class Monster {
1034  Monster._(this._bc, this._bcOffset);
1035  factory Monster(List<int> bytes) {
1036    final rootRef = fb.BufferContext.fromBytes(bytes);
1037    return reader.read(rootRef, 0);
1038  }
1039
1040  static const fb.Reader<Monster> reader = _MonsterReader();
1041
1042  final fb.BufferContext _bc;
1043  final int _bcOffset;
1044
1045  Vec3? get pos => Vec3.reader.vTableGetNullable(_bc, _bcOffset, 4);
1046  int get mana => const fb.Int16Reader().vTableGet(_bc, _bcOffset, 6, 150);
1047  int get hp => const fb.Int16Reader().vTableGet(_bc, _bcOffset, 8, 100);
1048  String? get name => const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 10);
1049  List<int>? get inventory => const fb.Uint8ListReader().vTableGetNullable(_bc, _bcOffset, 14);
1050  Color get color => Color.fromValue(const fb.Uint8Reader().vTableGet(_bc, _bcOffset, 16, 8));
1051  AnyTypeId? get testType => AnyTypeId._createOrNull(const fb.Uint8Reader().vTableGetNullable(_bc, _bcOffset, 18));
1052  dynamic get test {
1053    switch (testType?.value) {
1054      case 1: return Monster.reader.vTableGetNullable(_bc, _bcOffset, 20);
1055      case 2: return TestSimpleTableWithEnum.reader.vTableGetNullable(_bc, _bcOffset, 20);
1056      case 3: return my_game_example2.Monster.reader.vTableGetNullable(_bc, _bcOffset, 20);
1057      default: return null;
1058    }
1059  }
1060  List<Test>? get test4 => const fb.ListReader<Test>(Test.reader).vTableGetNullable(_bc, _bcOffset, 22);
1061  List<String>? get testarrayofstring => const fb.ListReader<String>(fb.StringReader()).vTableGetNullable(_bc, _bcOffset, 24);
1062  ///  an example documentation comment: this will end up in the generated code
1063  ///  multiline too
1064  List<Monster>? get testarrayoftables => const fb.ListReader<Monster>(Monster.reader).vTableGetNullable(_bc, _bcOffset, 26);
1065  Monster? get enemy => Monster.reader.vTableGetNullable(_bc, _bcOffset, 28);
1066  List<int>? get testnestedflatbuffer => const fb.Uint8ListReader().vTableGetNullable(_bc, _bcOffset, 30);
1067  Stat? get testempty => Stat.reader.vTableGetNullable(_bc, _bcOffset, 32);
1068  bool get testbool => const fb.BoolReader().vTableGet(_bc, _bcOffset, 34, false);
1069  int get testhashs32Fnv1 => const fb.Int32Reader().vTableGet(_bc, _bcOffset, 36, 0);
1070  int get testhashu32Fnv1 => const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 38, 0);
1071  int get testhashs64Fnv1 => const fb.Int64Reader().vTableGet(_bc, _bcOffset, 40, 0);
1072  int get testhashu64Fnv1 => const fb.Uint64Reader().vTableGet(_bc, _bcOffset, 42, 0);
1073  int get testhashs32Fnv1a => const fb.Int32Reader().vTableGet(_bc, _bcOffset, 44, 0);
1074  int get testhashu32Fnv1a => const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 46, 0);
1075  int get testhashs64Fnv1a => const fb.Int64Reader().vTableGet(_bc, _bcOffset, 48, 0);
1076  int get testhashu64Fnv1a => const fb.Uint64Reader().vTableGet(_bc, _bcOffset, 50, 0);
1077  List<bool>? get testarrayofbools => const fb.ListReader<bool>(fb.BoolReader()).vTableGetNullable(_bc, _bcOffset, 52);
1078  double get testf => const fb.Float32Reader().vTableGet(_bc, _bcOffset, 54, 3.14159);
1079  double get testf2 => const fb.Float32Reader().vTableGet(_bc, _bcOffset, 56, 3.0);
1080  double get testf3 => const fb.Float32Reader().vTableGet(_bc, _bcOffset, 58, 0.0);
1081  List<String>? get testarrayofstring2 => const fb.ListReader<String>(fb.StringReader()).vTableGetNullable(_bc, _bcOffset, 60);
1082  List<Ability>? get testarrayofsortedstruct => const fb.ListReader<Ability>(Ability.reader).vTableGetNullable(_bc, _bcOffset, 62);
1083  List<int>? get flex => const fb.Uint8ListReader().vTableGetNullable(_bc, _bcOffset, 64);
1084  List<Test>? get test5 => const fb.ListReader<Test>(Test.reader).vTableGetNullable(_bc, _bcOffset, 66);
1085  List<int>? get vectorOfLongs => const fb.ListReader<int>(fb.Int64Reader()).vTableGetNullable(_bc, _bcOffset, 68);
1086  List<double>? get vectorOfDoubles => const fb.ListReader<double>(fb.Float64Reader()).vTableGetNullable(_bc, _bcOffset, 70);
1087  my_game.InParentNamespace? get parentNamespaceTest => my_game.InParentNamespace.reader.vTableGetNullable(_bc, _bcOffset, 72);
1088  List<Referrable>? get vectorOfReferrables => const fb.ListReader<Referrable>(Referrable.reader).vTableGetNullable(_bc, _bcOffset, 74);
1089  int get singleWeakReference => const fb.Uint64Reader().vTableGet(_bc, _bcOffset, 76, 0);
1090  List<int>? get vectorOfWeakReferences => const fb.ListReader<int>(fb.Uint64Reader()).vTableGetNullable(_bc, _bcOffset, 78);
1091  List<Referrable>? get vectorOfStrongReferrables => const fb.ListReader<Referrable>(Referrable.reader).vTableGetNullable(_bc, _bcOffset, 80);
1092  int get coOwningReference => const fb.Uint64Reader().vTableGet(_bc, _bcOffset, 82, 0);
1093  List<int>? get vectorOfCoOwningReferences => const fb.ListReader<int>(fb.Uint64Reader()).vTableGetNullable(_bc, _bcOffset, 84);
1094  int get nonOwningReference => const fb.Uint64Reader().vTableGet(_bc, _bcOffset, 86, 0);
1095  List<int>? get vectorOfNonOwningReferences => const fb.ListReader<int>(fb.Uint64Reader()).vTableGetNullable(_bc, _bcOffset, 88);
1096  AnyUniqueAliasesTypeId? get anyUniqueType => AnyUniqueAliasesTypeId._createOrNull(const fb.Uint8Reader().vTableGetNullable(_bc, _bcOffset, 90));
1097  dynamic get anyUnique {
1098    switch (anyUniqueType?.value) {
1099      case 1: return Monster.reader.vTableGetNullable(_bc, _bcOffset, 92);
1100      case 2: return TestSimpleTableWithEnum.reader.vTableGetNullable(_bc, _bcOffset, 92);
1101      case 3: return my_game_example2.Monster.reader.vTableGetNullable(_bc, _bcOffset, 92);
1102      default: return null;
1103    }
1104  }
1105  AnyAmbiguousAliasesTypeId? get anyAmbiguousType => AnyAmbiguousAliasesTypeId._createOrNull(const fb.Uint8Reader().vTableGetNullable(_bc, _bcOffset, 94));
1106  dynamic get anyAmbiguous {
1107    switch (anyAmbiguousType?.value) {
1108      case 1: return Monster.reader.vTableGetNullable(_bc, _bcOffset, 96);
1109      case 2: return Monster.reader.vTableGetNullable(_bc, _bcOffset, 96);
1110      case 3: return Monster.reader.vTableGetNullable(_bc, _bcOffset, 96);
1111      default: return null;
1112    }
1113  }
1114  List<Color>? get vectorOfEnums => const fb.ListReader<Color>(Color.reader).vTableGetNullable(_bc, _bcOffset, 98);
1115  Race get signedEnum => Race.fromValue(const fb.Int8Reader().vTableGet(_bc, _bcOffset, 100, -1));
1116  List<int>? get testrequirednestedflatbuffer => const fb.Uint8ListReader().vTableGetNullable(_bc, _bcOffset, 102);
1117  List<Stat>? get scalarKeySortedTables => const fb.ListReader<Stat>(Stat.reader).vTableGetNullable(_bc, _bcOffset, 104);
1118
1119  @override
1120  String toString() {
1121    return 'Monster{pos: $pos, mana: $mana, hp: $hp, name: $name, inventory: $inventory, color: $color, testType: $testType, test: $test, test4: $test4, testarrayofstring: $testarrayofstring, testarrayoftables: $testarrayoftables, enemy: $enemy, testnestedflatbuffer: $testnestedflatbuffer, testempty: $testempty, testbool: $testbool, testhashs32Fnv1: $testhashs32Fnv1, testhashu32Fnv1: $testhashu32Fnv1, testhashs64Fnv1: $testhashs64Fnv1, testhashu64Fnv1: $testhashu64Fnv1, testhashs32Fnv1a: $testhashs32Fnv1a, testhashu32Fnv1a: $testhashu32Fnv1a, testhashs64Fnv1a: $testhashs64Fnv1a, testhashu64Fnv1a: $testhashu64Fnv1a, testarrayofbools: $testarrayofbools, testf: $testf, testf2: $testf2, testf3: $testf3, testarrayofstring2: $testarrayofstring2, testarrayofsortedstruct: $testarrayofsortedstruct, flex: $flex, test5: $test5, vectorOfLongs: $vectorOfLongs, vectorOfDoubles: $vectorOfDoubles, parentNamespaceTest: $parentNamespaceTest, vectorOfReferrables: $vectorOfReferrables, singleWeakReference: $singleWeakReference, vectorOfWeakReferences: $vectorOfWeakReferences, vectorOfStrongReferrables: $vectorOfStrongReferrables, coOwningReference: $coOwningReference, vectorOfCoOwningReferences: $vectorOfCoOwningReferences, nonOwningReference: $nonOwningReference, vectorOfNonOwningReferences: $vectorOfNonOwningReferences, anyUniqueType: $anyUniqueType, anyUnique: $anyUnique, anyAmbiguousType: $anyAmbiguousType, anyAmbiguous: $anyAmbiguous, vectorOfEnums: $vectorOfEnums, signedEnum: $signedEnum, testrequirednestedflatbuffer: $testrequirednestedflatbuffer, scalarKeySortedTables: $scalarKeySortedTables}';
1122  }
1123
1124  MonsterT unpack() => MonsterT(
1125      pos: pos?.unpack(),
1126      mana: mana,
1127      hp: hp,
1128      name: name,
1129      inventory: const fb.Uint8ListReader(lazy: false).vTableGetNullable(_bc, _bcOffset, 14),
1130      color: color,
1131      testType: testType,
1132      test: test,
1133      test4: test4?.map((e) => e.unpack()).toList(),
1134      testarrayofstring: const fb.ListReader<String>(fb.StringReader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 24),
1135      testarrayoftables: testarrayoftables?.map((e) => e.unpack()).toList(),
1136      enemy: enemy?.unpack(),
1137      testnestedflatbuffer: const fb.Uint8ListReader(lazy: false).vTableGetNullable(_bc, _bcOffset, 30),
1138      testempty: testempty?.unpack(),
1139      testbool: testbool,
1140      testhashs32Fnv1: testhashs32Fnv1,
1141      testhashu32Fnv1: testhashu32Fnv1,
1142      testhashs64Fnv1: testhashs64Fnv1,
1143      testhashu64Fnv1: testhashu64Fnv1,
1144      testhashs32Fnv1a: testhashs32Fnv1a,
1145      testhashu32Fnv1a: testhashu32Fnv1a,
1146      testhashs64Fnv1a: testhashs64Fnv1a,
1147      testhashu64Fnv1a: testhashu64Fnv1a,
1148      testarrayofbools: const fb.ListReader<bool>(fb.BoolReader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 52),
1149      testf: testf,
1150      testf2: testf2,
1151      testf3: testf3,
1152      testarrayofstring2: const fb.ListReader<String>(fb.StringReader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 60),
1153      testarrayofsortedstruct: testarrayofsortedstruct?.map((e) => e.unpack()).toList(),
1154      flex: const fb.Uint8ListReader(lazy: false).vTableGetNullable(_bc, _bcOffset, 64),
1155      test5: test5?.map((e) => e.unpack()).toList(),
1156      vectorOfLongs: const fb.ListReader<int>(fb.Int64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 68),
1157      vectorOfDoubles: const fb.ListReader<double>(fb.Float64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 70),
1158      parentNamespaceTest: parentNamespaceTest?.unpack(),
1159      vectorOfReferrables: vectorOfReferrables?.map((e) => e.unpack()).toList(),
1160      singleWeakReference: singleWeakReference,
1161      vectorOfWeakReferences: const fb.ListReader<int>(fb.Uint64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 78),
1162      vectorOfStrongReferrables: vectorOfStrongReferrables?.map((e) => e.unpack()).toList(),
1163      coOwningReference: coOwningReference,
1164      vectorOfCoOwningReferences: const fb.ListReader<int>(fb.Uint64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 84),
1165      nonOwningReference: nonOwningReference,
1166      vectorOfNonOwningReferences: const fb.ListReader<int>(fb.Uint64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 88),
1167      anyUniqueType: anyUniqueType,
1168      anyUnique: anyUnique,
1169      anyAmbiguousType: anyAmbiguousType,
1170      anyAmbiguous: anyAmbiguous,
1171      vectorOfEnums: const fb.ListReader<Color>(Color.reader, lazy: false).vTableGetNullable(_bc, _bcOffset, 98),
1172      signedEnum: signedEnum,
1173      testrequirednestedflatbuffer: const fb.Uint8ListReader(lazy: false).vTableGetNullable(_bc, _bcOffset, 102),
1174      scalarKeySortedTables: scalarKeySortedTables?.map((e) => e.unpack()).toList());
1175
1176  static int pack(fb.Builder fbBuilder, MonsterT? object) {
1177    if (object == null) return 0;
1178    return object.pack(fbBuilder);
1179  }
1180}
1181
1182///  an example documentation comment: "monster object"
1183class MonsterT implements fb.Packable {
1184  Vec3T? pos;
1185  int mana;
1186  int hp;
1187  String? name;
1188  List<int>? inventory;
1189  Color color;
1190  AnyTypeId? testType;
1191  dynamic test;
1192  List<TestT>? test4;
1193  List<String>? testarrayofstring;
1194  ///  an example documentation comment: this will end up in the generated code
1195  ///  multiline too
1196  List<MonsterT>? testarrayoftables;
1197  MonsterT? enemy;
1198  List<int>? testnestedflatbuffer;
1199  StatT? testempty;
1200  bool testbool;
1201  int testhashs32Fnv1;
1202  int testhashu32Fnv1;
1203  int testhashs64Fnv1;
1204  int testhashu64Fnv1;
1205  int testhashs32Fnv1a;
1206  int testhashu32Fnv1a;
1207  int testhashs64Fnv1a;
1208  int testhashu64Fnv1a;
1209  List<bool>? testarrayofbools;
1210  double testf;
1211  double testf2;
1212  double testf3;
1213  List<String>? testarrayofstring2;
1214  List<AbilityT>? testarrayofsortedstruct;
1215  List<int>? flex;
1216  List<TestT>? test5;
1217  List<int>? vectorOfLongs;
1218  List<double>? vectorOfDoubles;
1219  my_game.InParentNamespaceT? parentNamespaceTest;
1220  List<ReferrableT>? vectorOfReferrables;
1221  int singleWeakReference;
1222  List<int>? vectorOfWeakReferences;
1223  List<ReferrableT>? vectorOfStrongReferrables;
1224  int coOwningReference;
1225  List<int>? vectorOfCoOwningReferences;
1226  int nonOwningReference;
1227  List<int>? vectorOfNonOwningReferences;
1228  AnyUniqueAliasesTypeId? anyUniqueType;
1229  dynamic anyUnique;
1230  AnyAmbiguousAliasesTypeId? anyAmbiguousType;
1231  dynamic anyAmbiguous;
1232  List<Color>? vectorOfEnums;
1233  Race signedEnum;
1234  List<int>? testrequirednestedflatbuffer;
1235  List<StatT>? scalarKeySortedTables;
1236
1237  MonsterT({
1238      this.pos,
1239      this.mana = 150,
1240      this.hp = 100,
1241      this.name,
1242      this.inventory,
1243      this.color = Color.Blue,
1244      this.testType,
1245      this.test,
1246      this.test4,
1247      this.testarrayofstring,
1248      this.testarrayoftables,
1249      this.enemy,
1250      this.testnestedflatbuffer,
1251      this.testempty,
1252      this.testbool = false,
1253      this.testhashs32Fnv1 = 0,
1254      this.testhashu32Fnv1 = 0,
1255      this.testhashs64Fnv1 = 0,
1256      this.testhashu64Fnv1 = 0,
1257      this.testhashs32Fnv1a = 0,
1258      this.testhashu32Fnv1a = 0,
1259      this.testhashs64Fnv1a = 0,
1260      this.testhashu64Fnv1a = 0,
1261      this.testarrayofbools,
1262      this.testf = 3.14159,
1263      this.testf2 = 3.0,
1264      this.testf3 = 0.0,
1265      this.testarrayofstring2,
1266      this.testarrayofsortedstruct,
1267      this.flex,
1268      this.test5,
1269      this.vectorOfLongs,
1270      this.vectorOfDoubles,
1271      this.parentNamespaceTest,
1272      this.vectorOfReferrables,
1273      this.singleWeakReference = 0,
1274      this.vectorOfWeakReferences,
1275      this.vectorOfStrongReferrables,
1276      this.coOwningReference = 0,
1277      this.vectorOfCoOwningReferences,
1278      this.nonOwningReference = 0,
1279      this.vectorOfNonOwningReferences,
1280      this.anyUniqueType,
1281      this.anyUnique,
1282      this.anyAmbiguousType,
1283      this.anyAmbiguous,
1284      this.vectorOfEnums,
1285      this.signedEnum = Race.None,
1286      this.testrequirednestedflatbuffer,
1287      this.scalarKeySortedTables});
1288
1289  @override
1290  int pack(fb.Builder fbBuilder) {
1291    final int? nameOffset = name == null ? null
1292        : fbBuilder.writeString(name!);
1293    final int? inventoryOffset = inventory == null ? null
1294        : fbBuilder.writeListUint8(inventory!);
1295    final int? testOffset = test?.pack(fbBuilder);
1296    int? test4Offset;
1297    if (test4 != null) {
1298      for (var e in test4!) { e.pack(fbBuilder); }
1299      test4Offset = fbBuilder.endStructVector(test4!.length);
1300    }
1301    final int? testarrayofstringOffset = testarrayofstring == null ? null
1302        : fbBuilder.writeList(testarrayofstring!.map(fbBuilder.writeString).toList());
1303    final int? testarrayoftablesOffset = testarrayoftables == null ? null
1304        : fbBuilder.writeList(testarrayoftables!.map((b) => b.pack(fbBuilder)).toList());
1305    final int? enemyOffset = enemy?.pack(fbBuilder);
1306    final int? testnestedflatbufferOffset = testnestedflatbuffer == null ? null
1307        : fbBuilder.writeListUint8(testnestedflatbuffer!);
1308    final int? testemptyOffset = testempty?.pack(fbBuilder);
1309    final int? testarrayofboolsOffset = testarrayofbools == null ? null
1310        : fbBuilder.writeListBool(testarrayofbools!);
1311    final int? testarrayofstring2Offset = testarrayofstring2 == null ? null
1312        : fbBuilder.writeList(testarrayofstring2!.map(fbBuilder.writeString).toList());
1313    int? testarrayofsortedstructOffset;
1314    if (testarrayofsortedstruct != null) {
1315      for (var e in testarrayofsortedstruct!) { e.pack(fbBuilder); }
1316      testarrayofsortedstructOffset = fbBuilder.endStructVector(testarrayofsortedstruct!.length);
1317    }
1318    final int? flexOffset = flex == null ? null
1319        : fbBuilder.writeListUint8(flex!);
1320    int? test5Offset;
1321    if (test5 != null) {
1322      for (var e in test5!) { e.pack(fbBuilder); }
1323      test5Offset = fbBuilder.endStructVector(test5!.length);
1324    }
1325    final int? vectorOfLongsOffset = vectorOfLongs == null ? null
1326        : fbBuilder.writeListInt64(vectorOfLongs!);
1327    final int? vectorOfDoublesOffset = vectorOfDoubles == null ? null
1328        : fbBuilder.writeListFloat64(vectorOfDoubles!);
1329    final int? parentNamespaceTestOffset = parentNamespaceTest?.pack(fbBuilder);
1330    final int? vectorOfReferrablesOffset = vectorOfReferrables == null ? null
1331        : fbBuilder.writeList(vectorOfReferrables!.map((b) => b.pack(fbBuilder)).toList());
1332    final int? vectorOfWeakReferencesOffset = vectorOfWeakReferences == null ? null
1333        : fbBuilder.writeListUint64(vectorOfWeakReferences!);
1334    final int? vectorOfStrongReferrablesOffset = vectorOfStrongReferrables == null ? null
1335        : fbBuilder.writeList(vectorOfStrongReferrables!.map((b) => b.pack(fbBuilder)).toList());
1336    final int? vectorOfCoOwningReferencesOffset = vectorOfCoOwningReferences == null ? null
1337        : fbBuilder.writeListUint64(vectorOfCoOwningReferences!);
1338    final int? vectorOfNonOwningReferencesOffset = vectorOfNonOwningReferences == null ? null
1339        : fbBuilder.writeListUint64(vectorOfNonOwningReferences!);
1340    final int? anyUniqueOffset = anyUnique?.pack(fbBuilder);
1341    final int? anyAmbiguousOffset = anyAmbiguous?.pack(fbBuilder);
1342    final int? vectorOfEnumsOffset = vectorOfEnums == null ? null
1343        : fbBuilder.writeListUint8(vectorOfEnums!.map((f) => f.value).toList());
1344    final int? testrequirednestedflatbufferOffset = testrequirednestedflatbuffer == null ? null
1345        : fbBuilder.writeListUint8(testrequirednestedflatbuffer!);
1346    final int? scalarKeySortedTablesOffset = scalarKeySortedTables == null ? null
1347        : fbBuilder.writeList(scalarKeySortedTables!.map((b) => b.pack(fbBuilder)).toList());
1348    fbBuilder.startTable(50);
1349    if (pos != null) {
1350      fbBuilder.addStruct(0, pos!.pack(fbBuilder));
1351    }
1352    fbBuilder.addInt16(1, mana);
1353    fbBuilder.addInt16(2, hp);
1354    fbBuilder.addOffset(3, nameOffset);
1355    fbBuilder.addOffset(5, inventoryOffset);
1356    fbBuilder.addUint8(6, color.value);
1357    fbBuilder.addUint8(7, testType?.value);
1358    fbBuilder.addOffset(8, testOffset);
1359    fbBuilder.addOffset(9, test4Offset);
1360    fbBuilder.addOffset(10, testarrayofstringOffset);
1361    fbBuilder.addOffset(11, testarrayoftablesOffset);
1362    fbBuilder.addOffset(12, enemyOffset);
1363    fbBuilder.addOffset(13, testnestedflatbufferOffset);
1364    fbBuilder.addOffset(14, testemptyOffset);
1365    fbBuilder.addBool(15, testbool);
1366    fbBuilder.addInt32(16, testhashs32Fnv1);
1367    fbBuilder.addUint32(17, testhashu32Fnv1);
1368    fbBuilder.addInt64(18, testhashs64Fnv1);
1369    fbBuilder.addUint64(19, testhashu64Fnv1);
1370    fbBuilder.addInt32(20, testhashs32Fnv1a);
1371    fbBuilder.addUint32(21, testhashu32Fnv1a);
1372    fbBuilder.addInt64(22, testhashs64Fnv1a);
1373    fbBuilder.addUint64(23, testhashu64Fnv1a);
1374    fbBuilder.addOffset(24, testarrayofboolsOffset);
1375    fbBuilder.addFloat32(25, testf);
1376    fbBuilder.addFloat32(26, testf2);
1377    fbBuilder.addFloat32(27, testf3);
1378    fbBuilder.addOffset(28, testarrayofstring2Offset);
1379    fbBuilder.addOffset(29, testarrayofsortedstructOffset);
1380    fbBuilder.addOffset(30, flexOffset);
1381    fbBuilder.addOffset(31, test5Offset);
1382    fbBuilder.addOffset(32, vectorOfLongsOffset);
1383    fbBuilder.addOffset(33, vectorOfDoublesOffset);
1384    fbBuilder.addOffset(34, parentNamespaceTestOffset);
1385    fbBuilder.addOffset(35, vectorOfReferrablesOffset);
1386    fbBuilder.addUint64(36, singleWeakReference);
1387    fbBuilder.addOffset(37, vectorOfWeakReferencesOffset);
1388    fbBuilder.addOffset(38, vectorOfStrongReferrablesOffset);
1389    fbBuilder.addUint64(39, coOwningReference);
1390    fbBuilder.addOffset(40, vectorOfCoOwningReferencesOffset);
1391    fbBuilder.addUint64(41, nonOwningReference);
1392    fbBuilder.addOffset(42, vectorOfNonOwningReferencesOffset);
1393    fbBuilder.addUint8(43, anyUniqueType?.value);
1394    fbBuilder.addOffset(44, anyUniqueOffset);
1395    fbBuilder.addUint8(45, anyAmbiguousType?.value);
1396    fbBuilder.addOffset(46, anyAmbiguousOffset);
1397    fbBuilder.addOffset(47, vectorOfEnumsOffset);
1398    fbBuilder.addInt8(48, signedEnum.value);
1399    fbBuilder.addOffset(49, testrequirednestedflatbufferOffset);
1400    fbBuilder.addOffset(50, scalarKeySortedTablesOffset);
1401    return fbBuilder.endTable();
1402  }
1403
1404  @override
1405  String toString() {
1406    return 'MonsterT{pos: $pos, mana: $mana, hp: $hp, name: $name, inventory: $inventory, color: $color, testType: $testType, test: $test, test4: $test4, testarrayofstring: $testarrayofstring, testarrayoftables: $testarrayoftables, enemy: $enemy, testnestedflatbuffer: $testnestedflatbuffer, testempty: $testempty, testbool: $testbool, testhashs32Fnv1: $testhashs32Fnv1, testhashu32Fnv1: $testhashu32Fnv1, testhashs64Fnv1: $testhashs64Fnv1, testhashu64Fnv1: $testhashu64Fnv1, testhashs32Fnv1a: $testhashs32Fnv1a, testhashu32Fnv1a: $testhashu32Fnv1a, testhashs64Fnv1a: $testhashs64Fnv1a, testhashu64Fnv1a: $testhashu64Fnv1a, testarrayofbools: $testarrayofbools, testf: $testf, testf2: $testf2, testf3: $testf3, testarrayofstring2: $testarrayofstring2, testarrayofsortedstruct: $testarrayofsortedstruct, flex: $flex, test5: $test5, vectorOfLongs: $vectorOfLongs, vectorOfDoubles: $vectorOfDoubles, parentNamespaceTest: $parentNamespaceTest, vectorOfReferrables: $vectorOfReferrables, singleWeakReference: $singleWeakReference, vectorOfWeakReferences: $vectorOfWeakReferences, vectorOfStrongReferrables: $vectorOfStrongReferrables, coOwningReference: $coOwningReference, vectorOfCoOwningReferences: $vectorOfCoOwningReferences, nonOwningReference: $nonOwningReference, vectorOfNonOwningReferences: $vectorOfNonOwningReferences, anyUniqueType: $anyUniqueType, anyUnique: $anyUnique, anyAmbiguousType: $anyAmbiguousType, anyAmbiguous: $anyAmbiguous, vectorOfEnums: $vectorOfEnums, signedEnum: $signedEnum, testrequirednestedflatbuffer: $testrequirednestedflatbuffer, scalarKeySortedTables: $scalarKeySortedTables}';
1407  }
1408}
1409
1410class _MonsterReader extends fb.TableReader<Monster> {
1411  const _MonsterReader();
1412
1413  @override
1414  Monster createObject(fb.BufferContext bc, int offset) =>
1415    Monster._(bc, offset);
1416}
1417
1418class MonsterBuilder {
1419  MonsterBuilder(this.fbBuilder);
1420
1421  final fb.Builder fbBuilder;
1422
1423  void begin() {
1424    fbBuilder.startTable(50);
1425  }
1426
1427  int addPos(int offset) {
1428    fbBuilder.addStruct(0, offset);
1429    return fbBuilder.offset;
1430  }
1431  int addMana(int? mana) {
1432    fbBuilder.addInt16(1, mana);
1433    return fbBuilder.offset;
1434  }
1435  int addHp(int? hp) {
1436    fbBuilder.addInt16(2, hp);
1437    return fbBuilder.offset;
1438  }
1439  int addNameOffset(int? offset) {
1440    fbBuilder.addOffset(3, offset);
1441    return fbBuilder.offset;
1442  }
1443  int addInventoryOffset(int? offset) {
1444    fbBuilder.addOffset(5, offset);
1445    return fbBuilder.offset;
1446  }
1447  int addColor(Color? color) {
1448    fbBuilder.addUint8(6, color?.value);
1449    return fbBuilder.offset;
1450  }
1451  int addTestType(AnyTypeId? testType) {
1452    fbBuilder.addUint8(7, testType?.value);
1453    return fbBuilder.offset;
1454  }
1455  int addTestOffset(int? offset) {
1456    fbBuilder.addOffset(8, offset);
1457    return fbBuilder.offset;
1458  }
1459  int addTest4Offset(int? offset) {
1460    fbBuilder.addOffset(9, offset);
1461    return fbBuilder.offset;
1462  }
1463  int addTestarrayofstringOffset(int? offset) {
1464    fbBuilder.addOffset(10, offset);
1465    return fbBuilder.offset;
1466  }
1467  int addTestarrayoftablesOffset(int? offset) {
1468    fbBuilder.addOffset(11, offset);
1469    return fbBuilder.offset;
1470  }
1471  int addEnemyOffset(int? offset) {
1472    fbBuilder.addOffset(12, offset);
1473    return fbBuilder.offset;
1474  }
1475  int addTestnestedflatbufferOffset(int? offset) {
1476    fbBuilder.addOffset(13, offset);
1477    return fbBuilder.offset;
1478  }
1479  int addTestemptyOffset(int? offset) {
1480    fbBuilder.addOffset(14, offset);
1481    return fbBuilder.offset;
1482  }
1483  int addTestbool(bool? testbool) {
1484    fbBuilder.addBool(15, testbool);
1485    return fbBuilder.offset;
1486  }
1487  int addTesthashs32Fnv1(int? testhashs32Fnv1) {
1488    fbBuilder.addInt32(16, testhashs32Fnv1);
1489    return fbBuilder.offset;
1490  }
1491  int addTesthashu32Fnv1(int? testhashu32Fnv1) {
1492    fbBuilder.addUint32(17, testhashu32Fnv1);
1493    return fbBuilder.offset;
1494  }
1495  int addTesthashs64Fnv1(int? testhashs64Fnv1) {
1496    fbBuilder.addInt64(18, testhashs64Fnv1);
1497    return fbBuilder.offset;
1498  }
1499  int addTesthashu64Fnv1(int? testhashu64Fnv1) {
1500    fbBuilder.addUint64(19, testhashu64Fnv1);
1501    return fbBuilder.offset;
1502  }
1503  int addTesthashs32Fnv1a(int? testhashs32Fnv1a) {
1504    fbBuilder.addInt32(20, testhashs32Fnv1a);
1505    return fbBuilder.offset;
1506  }
1507  int addTesthashu32Fnv1a(int? testhashu32Fnv1a) {
1508    fbBuilder.addUint32(21, testhashu32Fnv1a);
1509    return fbBuilder.offset;
1510  }
1511  int addTesthashs64Fnv1a(int? testhashs64Fnv1a) {
1512    fbBuilder.addInt64(22, testhashs64Fnv1a);
1513    return fbBuilder.offset;
1514  }
1515  int addTesthashu64Fnv1a(int? testhashu64Fnv1a) {
1516    fbBuilder.addUint64(23, testhashu64Fnv1a);
1517    return fbBuilder.offset;
1518  }
1519  int addTestarrayofboolsOffset(int? offset) {
1520    fbBuilder.addOffset(24, offset);
1521    return fbBuilder.offset;
1522  }
1523  int addTestf(double? testf) {
1524    fbBuilder.addFloat32(25, testf);
1525    return fbBuilder.offset;
1526  }
1527  int addTestf2(double? testf2) {
1528    fbBuilder.addFloat32(26, testf2);
1529    return fbBuilder.offset;
1530  }
1531  int addTestf3(double? testf3) {
1532    fbBuilder.addFloat32(27, testf3);
1533    return fbBuilder.offset;
1534  }
1535  int addTestarrayofstring2Offset(int? offset) {
1536    fbBuilder.addOffset(28, offset);
1537    return fbBuilder.offset;
1538  }
1539  int addTestarrayofsortedstructOffset(int? offset) {
1540    fbBuilder.addOffset(29, offset);
1541    return fbBuilder.offset;
1542  }
1543  int addFlexOffset(int? offset) {
1544    fbBuilder.addOffset(30, offset);
1545    return fbBuilder.offset;
1546  }
1547  int addTest5Offset(int? offset) {
1548    fbBuilder.addOffset(31, offset);
1549    return fbBuilder.offset;
1550  }
1551  int addVectorOfLongsOffset(int? offset) {
1552    fbBuilder.addOffset(32, offset);
1553    return fbBuilder.offset;
1554  }
1555  int addVectorOfDoublesOffset(int? offset) {
1556    fbBuilder.addOffset(33, offset);
1557    return fbBuilder.offset;
1558  }
1559  int addParentNamespaceTestOffset(int? offset) {
1560    fbBuilder.addOffset(34, offset);
1561    return fbBuilder.offset;
1562  }
1563  int addVectorOfReferrablesOffset(int? offset) {
1564    fbBuilder.addOffset(35, offset);
1565    return fbBuilder.offset;
1566  }
1567  int addSingleWeakReference(int? singleWeakReference) {
1568    fbBuilder.addUint64(36, singleWeakReference);
1569    return fbBuilder.offset;
1570  }
1571  int addVectorOfWeakReferencesOffset(int? offset) {
1572    fbBuilder.addOffset(37, offset);
1573    return fbBuilder.offset;
1574  }
1575  int addVectorOfStrongReferrablesOffset(int? offset) {
1576    fbBuilder.addOffset(38, offset);
1577    return fbBuilder.offset;
1578  }
1579  int addCoOwningReference(int? coOwningReference) {
1580    fbBuilder.addUint64(39, coOwningReference);
1581    return fbBuilder.offset;
1582  }
1583  int addVectorOfCoOwningReferencesOffset(int? offset) {
1584    fbBuilder.addOffset(40, offset);
1585    return fbBuilder.offset;
1586  }
1587  int addNonOwningReference(int? nonOwningReference) {
1588    fbBuilder.addUint64(41, nonOwningReference);
1589    return fbBuilder.offset;
1590  }
1591  int addVectorOfNonOwningReferencesOffset(int? offset) {
1592    fbBuilder.addOffset(42, offset);
1593    return fbBuilder.offset;
1594  }
1595  int addAnyUniqueType(AnyUniqueAliasesTypeId? anyUniqueType) {
1596    fbBuilder.addUint8(43, anyUniqueType?.value);
1597    return fbBuilder.offset;
1598  }
1599  int addAnyUniqueOffset(int? offset) {
1600    fbBuilder.addOffset(44, offset);
1601    return fbBuilder.offset;
1602  }
1603  int addAnyAmbiguousType(AnyAmbiguousAliasesTypeId? anyAmbiguousType) {
1604    fbBuilder.addUint8(45, anyAmbiguousType?.value);
1605    return fbBuilder.offset;
1606  }
1607  int addAnyAmbiguousOffset(int? offset) {
1608    fbBuilder.addOffset(46, offset);
1609    return fbBuilder.offset;
1610  }
1611  int addVectorOfEnumsOffset(int? offset) {
1612    fbBuilder.addOffset(47, offset);
1613    return fbBuilder.offset;
1614  }
1615  int addSignedEnum(Race? signedEnum) {
1616    fbBuilder.addInt8(48, signedEnum?.value);
1617    return fbBuilder.offset;
1618  }
1619  int addTestrequirednestedflatbufferOffset(int? offset) {
1620    fbBuilder.addOffset(49, offset);
1621    return fbBuilder.offset;
1622  }
1623  int addScalarKeySortedTablesOffset(int? offset) {
1624    fbBuilder.addOffset(50, offset);
1625    return fbBuilder.offset;
1626  }
1627
1628  int finish() {
1629    return fbBuilder.endTable();
1630  }
1631}
1632
1633class MonsterObjectBuilder extends fb.ObjectBuilder {
1634  final Vec3ObjectBuilder? _pos;
1635  final int? _mana;
1636  final int? _hp;
1637  final String? _name;
1638  final List<int>? _inventory;
1639  final Color? _color;
1640  final AnyTypeId? _testType;
1641  final dynamic _test;
1642  final List<TestObjectBuilder>? _test4;
1643  final List<String>? _testarrayofstring;
1644  final List<MonsterObjectBuilder>? _testarrayoftables;
1645  final MonsterObjectBuilder? _enemy;
1646  final List<int>? _testnestedflatbuffer;
1647  final StatObjectBuilder? _testempty;
1648  final bool? _testbool;
1649  final int? _testhashs32Fnv1;
1650  final int? _testhashu32Fnv1;
1651  final int? _testhashs64Fnv1;
1652  final int? _testhashu64Fnv1;
1653  final int? _testhashs32Fnv1a;
1654  final int? _testhashu32Fnv1a;
1655  final int? _testhashs64Fnv1a;
1656  final int? _testhashu64Fnv1a;
1657  final List<bool>? _testarrayofbools;
1658  final double? _testf;
1659  final double? _testf2;
1660  final double? _testf3;
1661  final List<String>? _testarrayofstring2;
1662  final List<AbilityObjectBuilder>? _testarrayofsortedstruct;
1663  final List<int>? _flex;
1664  final List<TestObjectBuilder>? _test5;
1665  final List<int>? _vectorOfLongs;
1666  final List<double>? _vectorOfDoubles;
1667  final my_game.InParentNamespaceObjectBuilder? _parentNamespaceTest;
1668  final List<ReferrableObjectBuilder>? _vectorOfReferrables;
1669  final int? _singleWeakReference;
1670  final List<int>? _vectorOfWeakReferences;
1671  final List<ReferrableObjectBuilder>? _vectorOfStrongReferrables;
1672  final int? _coOwningReference;
1673  final List<int>? _vectorOfCoOwningReferences;
1674  final int? _nonOwningReference;
1675  final List<int>? _vectorOfNonOwningReferences;
1676  final AnyUniqueAliasesTypeId? _anyUniqueType;
1677  final dynamic _anyUnique;
1678  final AnyAmbiguousAliasesTypeId? _anyAmbiguousType;
1679  final dynamic _anyAmbiguous;
1680  final List<Color>? _vectorOfEnums;
1681  final Race? _signedEnum;
1682  final List<int>? _testrequirednestedflatbuffer;
1683  final List<StatObjectBuilder>? _scalarKeySortedTables;
1684
1685  MonsterObjectBuilder({
1686    Vec3ObjectBuilder? pos,
1687    int? mana,
1688    int? hp,
1689    String? name,
1690    List<int>? inventory,
1691    Color? color,
1692    AnyTypeId? testType,
1693    dynamic test,
1694    List<TestObjectBuilder>? test4,
1695    List<String>? testarrayofstring,
1696    List<MonsterObjectBuilder>? testarrayoftables,
1697    MonsterObjectBuilder? enemy,
1698    List<int>? testnestedflatbuffer,
1699    StatObjectBuilder? testempty,
1700    bool? testbool,
1701    int? testhashs32Fnv1,
1702    int? testhashu32Fnv1,
1703    int? testhashs64Fnv1,
1704    int? testhashu64Fnv1,
1705    int? testhashs32Fnv1a,
1706    int? testhashu32Fnv1a,
1707    int? testhashs64Fnv1a,
1708    int? testhashu64Fnv1a,
1709    List<bool>? testarrayofbools,
1710    double? testf,
1711    double? testf2,
1712    double? testf3,
1713    List<String>? testarrayofstring2,
1714    List<AbilityObjectBuilder>? testarrayofsortedstruct,
1715    List<int>? flex,
1716    List<TestObjectBuilder>? test5,
1717    List<int>? vectorOfLongs,
1718    List<double>? vectorOfDoubles,
1719    my_game.InParentNamespaceObjectBuilder? parentNamespaceTest,
1720    List<ReferrableObjectBuilder>? vectorOfReferrables,
1721    int? singleWeakReference,
1722    List<int>? vectorOfWeakReferences,
1723    List<ReferrableObjectBuilder>? vectorOfStrongReferrables,
1724    int? coOwningReference,
1725    List<int>? vectorOfCoOwningReferences,
1726    int? nonOwningReference,
1727    List<int>? vectorOfNonOwningReferences,
1728    AnyUniqueAliasesTypeId? anyUniqueType,
1729    dynamic anyUnique,
1730    AnyAmbiguousAliasesTypeId? anyAmbiguousType,
1731    dynamic anyAmbiguous,
1732    List<Color>? vectorOfEnums,
1733    Race? signedEnum,
1734    List<int>? testrequirednestedflatbuffer,
1735    List<StatObjectBuilder>? scalarKeySortedTables,
1736  })
1737      : _pos = pos,
1738        _mana = mana,
1739        _hp = hp,
1740        _name = name,
1741        _inventory = inventory,
1742        _color = color,
1743        _testType = testType,
1744        _test = test,
1745        _test4 = test4,
1746        _testarrayofstring = testarrayofstring,
1747        _testarrayoftables = testarrayoftables,
1748        _enemy = enemy,
1749        _testnestedflatbuffer = testnestedflatbuffer,
1750        _testempty = testempty,
1751        _testbool = testbool,
1752        _testhashs32Fnv1 = testhashs32Fnv1,
1753        _testhashu32Fnv1 = testhashu32Fnv1,
1754        _testhashs64Fnv1 = testhashs64Fnv1,
1755        _testhashu64Fnv1 = testhashu64Fnv1,
1756        _testhashs32Fnv1a = testhashs32Fnv1a,
1757        _testhashu32Fnv1a = testhashu32Fnv1a,
1758        _testhashs64Fnv1a = testhashs64Fnv1a,
1759        _testhashu64Fnv1a = testhashu64Fnv1a,
1760        _testarrayofbools = testarrayofbools,
1761        _testf = testf,
1762        _testf2 = testf2,
1763        _testf3 = testf3,
1764        _testarrayofstring2 = testarrayofstring2,
1765        _testarrayofsortedstruct = testarrayofsortedstruct,
1766        _flex = flex,
1767        _test5 = test5,
1768        _vectorOfLongs = vectorOfLongs,
1769        _vectorOfDoubles = vectorOfDoubles,
1770        _parentNamespaceTest = parentNamespaceTest,
1771        _vectorOfReferrables = vectorOfReferrables,
1772        _singleWeakReference = singleWeakReference,
1773        _vectorOfWeakReferences = vectorOfWeakReferences,
1774        _vectorOfStrongReferrables = vectorOfStrongReferrables,
1775        _coOwningReference = coOwningReference,
1776        _vectorOfCoOwningReferences = vectorOfCoOwningReferences,
1777        _nonOwningReference = nonOwningReference,
1778        _vectorOfNonOwningReferences = vectorOfNonOwningReferences,
1779        _anyUniqueType = anyUniqueType,
1780        _anyUnique = anyUnique,
1781        _anyAmbiguousType = anyAmbiguousType,
1782        _anyAmbiguous = anyAmbiguous,
1783        _vectorOfEnums = vectorOfEnums,
1784        _signedEnum = signedEnum,
1785        _testrequirednestedflatbuffer = testrequirednestedflatbuffer,
1786        _scalarKeySortedTables = scalarKeySortedTables;
1787
1788  /// Finish building, and store into the [fbBuilder].
1789  @override
1790  int finish(fb.Builder fbBuilder) {
1791    final int? nameOffset = _name == null ? null
1792        : fbBuilder.writeString(_name!);
1793    final int? inventoryOffset = _inventory == null ? null
1794        : fbBuilder.writeListUint8(_inventory!);
1795    final int? testOffset = _test?.getOrCreateOffset(fbBuilder);
1796    final int? test4Offset = _test4 == null ? null
1797        : fbBuilder.writeListOfStructs(_test4!);
1798    final int? testarrayofstringOffset = _testarrayofstring == null ? null
1799        : fbBuilder.writeList(_testarrayofstring!.map(fbBuilder.writeString).toList());
1800    final int? testarrayoftablesOffset = _testarrayoftables == null ? null
1801        : fbBuilder.writeList(_testarrayoftables!.map((b) => b.getOrCreateOffset(fbBuilder)).toList());
1802    final int? enemyOffset = _enemy?.getOrCreateOffset(fbBuilder);
1803    final int? testnestedflatbufferOffset = _testnestedflatbuffer == null ? null
1804        : fbBuilder.writeListUint8(_testnestedflatbuffer!);
1805    final int? testemptyOffset = _testempty?.getOrCreateOffset(fbBuilder);
1806    final int? testarrayofboolsOffset = _testarrayofbools == null ? null
1807        : fbBuilder.writeListBool(_testarrayofbools!);
1808    final int? testarrayofstring2Offset = _testarrayofstring2 == null ? null
1809        : fbBuilder.writeList(_testarrayofstring2!.map(fbBuilder.writeString).toList());
1810    final int? testarrayofsortedstructOffset = _testarrayofsortedstruct == null ? null
1811        : fbBuilder.writeListOfStructs(_testarrayofsortedstruct!);
1812    final int? flexOffset = _flex == null ? null
1813        : fbBuilder.writeListUint8(_flex!);
1814    final int? test5Offset = _test5 == null ? null
1815        : fbBuilder.writeListOfStructs(_test5!);
1816    final int? vectorOfLongsOffset = _vectorOfLongs == null ? null
1817        : fbBuilder.writeListInt64(_vectorOfLongs!);
1818    final int? vectorOfDoublesOffset = _vectorOfDoubles == null ? null
1819        : fbBuilder.writeListFloat64(_vectorOfDoubles!);
1820    final int? parentNamespaceTestOffset = _parentNamespaceTest?.getOrCreateOffset(fbBuilder);
1821    final int? vectorOfReferrablesOffset = _vectorOfReferrables == null ? null
1822        : fbBuilder.writeList(_vectorOfReferrables!.map((b) => b.getOrCreateOffset(fbBuilder)).toList());
1823    final int? vectorOfWeakReferencesOffset = _vectorOfWeakReferences == null ? null
1824        : fbBuilder.writeListUint64(_vectorOfWeakReferences!);
1825    final int? vectorOfStrongReferrablesOffset = _vectorOfStrongReferrables == null ? null
1826        : fbBuilder.writeList(_vectorOfStrongReferrables!.map((b) => b.getOrCreateOffset(fbBuilder)).toList());
1827    final int? vectorOfCoOwningReferencesOffset = _vectorOfCoOwningReferences == null ? null
1828        : fbBuilder.writeListUint64(_vectorOfCoOwningReferences!);
1829    final int? vectorOfNonOwningReferencesOffset = _vectorOfNonOwningReferences == null ? null
1830        : fbBuilder.writeListUint64(_vectorOfNonOwningReferences!);
1831    final int? anyUniqueOffset = _anyUnique?.getOrCreateOffset(fbBuilder);
1832    final int? anyAmbiguousOffset = _anyAmbiguous?.getOrCreateOffset(fbBuilder);
1833    final int? vectorOfEnumsOffset = _vectorOfEnums == null ? null
1834        : fbBuilder.writeListUint8(_vectorOfEnums!.map((f) => f.value).toList());
1835    final int? testrequirednestedflatbufferOffset = _testrequirednestedflatbuffer == null ? null
1836        : fbBuilder.writeListUint8(_testrequirednestedflatbuffer!);
1837    final int? scalarKeySortedTablesOffset = _scalarKeySortedTables == null ? null
1838        : fbBuilder.writeList(_scalarKeySortedTables!.map((b) => b.getOrCreateOffset(fbBuilder)).toList());
1839    fbBuilder.startTable(50);
1840    if (_pos != null) {
1841      fbBuilder.addStruct(0, _pos!.finish(fbBuilder));
1842    }
1843    fbBuilder.addInt16(1, _mana);
1844    fbBuilder.addInt16(2, _hp);
1845    fbBuilder.addOffset(3, nameOffset);
1846    fbBuilder.addOffset(5, inventoryOffset);
1847    fbBuilder.addUint8(6, _color?.value);
1848    fbBuilder.addUint8(7, _testType?.value);
1849    fbBuilder.addOffset(8, testOffset);
1850    fbBuilder.addOffset(9, test4Offset);
1851    fbBuilder.addOffset(10, testarrayofstringOffset);
1852    fbBuilder.addOffset(11, testarrayoftablesOffset);
1853    fbBuilder.addOffset(12, enemyOffset);
1854    fbBuilder.addOffset(13, testnestedflatbufferOffset);
1855    fbBuilder.addOffset(14, testemptyOffset);
1856    fbBuilder.addBool(15, _testbool);
1857    fbBuilder.addInt32(16, _testhashs32Fnv1);
1858    fbBuilder.addUint32(17, _testhashu32Fnv1);
1859    fbBuilder.addInt64(18, _testhashs64Fnv1);
1860    fbBuilder.addUint64(19, _testhashu64Fnv1);
1861    fbBuilder.addInt32(20, _testhashs32Fnv1a);
1862    fbBuilder.addUint32(21, _testhashu32Fnv1a);
1863    fbBuilder.addInt64(22, _testhashs64Fnv1a);
1864    fbBuilder.addUint64(23, _testhashu64Fnv1a);
1865    fbBuilder.addOffset(24, testarrayofboolsOffset);
1866    fbBuilder.addFloat32(25, _testf);
1867    fbBuilder.addFloat32(26, _testf2);
1868    fbBuilder.addFloat32(27, _testf3);
1869    fbBuilder.addOffset(28, testarrayofstring2Offset);
1870    fbBuilder.addOffset(29, testarrayofsortedstructOffset);
1871    fbBuilder.addOffset(30, flexOffset);
1872    fbBuilder.addOffset(31, test5Offset);
1873    fbBuilder.addOffset(32, vectorOfLongsOffset);
1874    fbBuilder.addOffset(33, vectorOfDoublesOffset);
1875    fbBuilder.addOffset(34, parentNamespaceTestOffset);
1876    fbBuilder.addOffset(35, vectorOfReferrablesOffset);
1877    fbBuilder.addUint64(36, _singleWeakReference);
1878    fbBuilder.addOffset(37, vectorOfWeakReferencesOffset);
1879    fbBuilder.addOffset(38, vectorOfStrongReferrablesOffset);
1880    fbBuilder.addUint64(39, _coOwningReference);
1881    fbBuilder.addOffset(40, vectorOfCoOwningReferencesOffset);
1882    fbBuilder.addUint64(41, _nonOwningReference);
1883    fbBuilder.addOffset(42, vectorOfNonOwningReferencesOffset);
1884    fbBuilder.addUint8(43, _anyUniqueType?.value);
1885    fbBuilder.addOffset(44, anyUniqueOffset);
1886    fbBuilder.addUint8(45, _anyAmbiguousType?.value);
1887    fbBuilder.addOffset(46, anyAmbiguousOffset);
1888    fbBuilder.addOffset(47, vectorOfEnumsOffset);
1889    fbBuilder.addInt8(48, _signedEnum?.value);
1890    fbBuilder.addOffset(49, testrequirednestedflatbufferOffset);
1891    fbBuilder.addOffset(50, scalarKeySortedTablesOffset);
1892    return fbBuilder.endTable();
1893  }
1894
1895  /// Convenience method to serialize to byte list.
1896  @override
1897  Uint8List toBytes([String? fileIdentifier]) {
1898    final fbBuilder = fb.Builder(deduplicateTables: false);
1899    fbBuilder.finish(finish(fbBuilder), fileIdentifier);
1900    return fbBuilder.buffer;
1901  }
1902}
1903class TypeAliases {
1904  TypeAliases._(this._bc, this._bcOffset);
1905  factory TypeAliases(List<int> bytes) {
1906    final rootRef = fb.BufferContext.fromBytes(bytes);
1907    return reader.read(rootRef, 0);
1908  }
1909
1910  static const fb.Reader<TypeAliases> reader = _TypeAliasesReader();
1911
1912  final fb.BufferContext _bc;
1913  final int _bcOffset;
1914
1915  int get i8 => const fb.Int8Reader().vTableGet(_bc, _bcOffset, 4, 0);
1916  int get u8 => const fb.Uint8Reader().vTableGet(_bc, _bcOffset, 6, 0);
1917  int get i16 => const fb.Int16Reader().vTableGet(_bc, _bcOffset, 8, 0);
1918  int get u16 => const fb.Uint16Reader().vTableGet(_bc, _bcOffset, 10, 0);
1919  int get i32 => const fb.Int32Reader().vTableGet(_bc, _bcOffset, 12, 0);
1920  int get u32 => const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 14, 0);
1921  int get i64 => const fb.Int64Reader().vTableGet(_bc, _bcOffset, 16, 0);
1922  int get u64 => const fb.Uint64Reader().vTableGet(_bc, _bcOffset, 18, 0);
1923  double get f32 => const fb.Float32Reader().vTableGet(_bc, _bcOffset, 20, 0.0);
1924  double get f64 => const fb.Float64Reader().vTableGet(_bc, _bcOffset, 22, 0.0);
1925  List<int>? get v8 => const fb.Int8ListReader().vTableGetNullable(_bc, _bcOffset, 24);
1926  List<double>? get vf64 => const fb.ListReader<double>(fb.Float64Reader()).vTableGetNullable(_bc, _bcOffset, 26);
1927
1928  @override
1929  String toString() {
1930    return 'TypeAliases{i8: $i8, u8: $u8, i16: $i16, u16: $u16, i32: $i32, u32: $u32, i64: $i64, u64: $u64, f32: $f32, f64: $f64, v8: $v8, vf64: $vf64}';
1931  }
1932
1933  TypeAliasesT unpack() => TypeAliasesT(
1934      i8: i8,
1935      u8: u8,
1936      i16: i16,
1937      u16: u16,
1938      i32: i32,
1939      u32: u32,
1940      i64: i64,
1941      u64: u64,
1942      f32: f32,
1943      f64: f64,
1944      v8: const fb.Int8ListReader(lazy: false).vTableGetNullable(_bc, _bcOffset, 24),
1945      vf64: const fb.ListReader<double>(fb.Float64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 26));
1946
1947  static int pack(fb.Builder fbBuilder, TypeAliasesT? object) {
1948    if (object == null) return 0;
1949    return object.pack(fbBuilder);
1950  }
1951}
1952
1953class TypeAliasesT implements fb.Packable {
1954  int i8;
1955  int u8;
1956  int i16;
1957  int u16;
1958  int i32;
1959  int u32;
1960  int i64;
1961  int u64;
1962  double f32;
1963  double f64;
1964  List<int>? v8;
1965  List<double>? vf64;
1966
1967  TypeAliasesT({
1968      this.i8 = 0,
1969      this.u8 = 0,
1970      this.i16 = 0,
1971      this.u16 = 0,
1972      this.i32 = 0,
1973      this.u32 = 0,
1974      this.i64 = 0,
1975      this.u64 = 0,
1976      this.f32 = 0.0,
1977      this.f64 = 0.0,
1978      this.v8,
1979      this.vf64});
1980
1981  @override
1982  int pack(fb.Builder fbBuilder) {
1983    final int? v8Offset = v8 == null ? null
1984        : fbBuilder.writeListInt8(v8!);
1985    final int? vf64Offset = vf64 == null ? null
1986        : fbBuilder.writeListFloat64(vf64!);
1987    fbBuilder.startTable(12);
1988    fbBuilder.addInt8(0, i8);
1989    fbBuilder.addUint8(1, u8);
1990    fbBuilder.addInt16(2, i16);
1991    fbBuilder.addUint16(3, u16);
1992    fbBuilder.addInt32(4, i32);
1993    fbBuilder.addUint32(5, u32);
1994    fbBuilder.addInt64(6, i64);
1995    fbBuilder.addUint64(7, u64);
1996    fbBuilder.addFloat32(8, f32);
1997    fbBuilder.addFloat64(9, f64);
1998    fbBuilder.addOffset(10, v8Offset);
1999    fbBuilder.addOffset(11, vf64Offset);
2000    return fbBuilder.endTable();
2001  }
2002
2003  @override
2004  String toString() {
2005    return 'TypeAliasesT{i8: $i8, u8: $u8, i16: $i16, u16: $u16, i32: $i32, u32: $u32, i64: $i64, u64: $u64, f32: $f32, f64: $f64, v8: $v8, vf64: $vf64}';
2006  }
2007}
2008
2009class _TypeAliasesReader extends fb.TableReader<TypeAliases> {
2010  const _TypeAliasesReader();
2011
2012  @override
2013  TypeAliases createObject(fb.BufferContext bc, int offset) =>
2014    TypeAliases._(bc, offset);
2015}
2016
2017class TypeAliasesBuilder {
2018  TypeAliasesBuilder(this.fbBuilder);
2019
2020  final fb.Builder fbBuilder;
2021
2022  void begin() {
2023    fbBuilder.startTable(12);
2024  }
2025
2026  int addI8(int? i8) {
2027    fbBuilder.addInt8(0, i8);
2028    return fbBuilder.offset;
2029  }
2030  int addU8(int? u8) {
2031    fbBuilder.addUint8(1, u8);
2032    return fbBuilder.offset;
2033  }
2034  int addI16(int? i16) {
2035    fbBuilder.addInt16(2, i16);
2036    return fbBuilder.offset;
2037  }
2038  int addU16(int? u16) {
2039    fbBuilder.addUint16(3, u16);
2040    return fbBuilder.offset;
2041  }
2042  int addI32(int? i32) {
2043    fbBuilder.addInt32(4, i32);
2044    return fbBuilder.offset;
2045  }
2046  int addU32(int? u32) {
2047    fbBuilder.addUint32(5, u32);
2048    return fbBuilder.offset;
2049  }
2050  int addI64(int? i64) {
2051    fbBuilder.addInt64(6, i64);
2052    return fbBuilder.offset;
2053  }
2054  int addU64(int? u64) {
2055    fbBuilder.addUint64(7, u64);
2056    return fbBuilder.offset;
2057  }
2058  int addF32(double? f32) {
2059    fbBuilder.addFloat32(8, f32);
2060    return fbBuilder.offset;
2061  }
2062  int addF64(double? f64) {
2063    fbBuilder.addFloat64(9, f64);
2064    return fbBuilder.offset;
2065  }
2066  int addV8Offset(int? offset) {
2067    fbBuilder.addOffset(10, offset);
2068    return fbBuilder.offset;
2069  }
2070  int addVf64Offset(int? offset) {
2071    fbBuilder.addOffset(11, offset);
2072    return fbBuilder.offset;
2073  }
2074
2075  int finish() {
2076    return fbBuilder.endTable();
2077  }
2078}
2079
2080class TypeAliasesObjectBuilder extends fb.ObjectBuilder {
2081  final int? _i8;
2082  final int? _u8;
2083  final int? _i16;
2084  final int? _u16;
2085  final int? _i32;
2086  final int? _u32;
2087  final int? _i64;
2088  final int? _u64;
2089  final double? _f32;
2090  final double? _f64;
2091  final List<int>? _v8;
2092  final List<double>? _vf64;
2093
2094  TypeAliasesObjectBuilder({
2095    int? i8,
2096    int? u8,
2097    int? i16,
2098    int? u16,
2099    int? i32,
2100    int? u32,
2101    int? i64,
2102    int? u64,
2103    double? f32,
2104    double? f64,
2105    List<int>? v8,
2106    List<double>? vf64,
2107  })
2108      : _i8 = i8,
2109        _u8 = u8,
2110        _i16 = i16,
2111        _u16 = u16,
2112        _i32 = i32,
2113        _u32 = u32,
2114        _i64 = i64,
2115        _u64 = u64,
2116        _f32 = f32,
2117        _f64 = f64,
2118        _v8 = v8,
2119        _vf64 = vf64;
2120
2121  /// Finish building, and store into the [fbBuilder].
2122  @override
2123  int finish(fb.Builder fbBuilder) {
2124    final int? v8Offset = _v8 == null ? null
2125        : fbBuilder.writeListInt8(_v8!);
2126    final int? vf64Offset = _vf64 == null ? null
2127        : fbBuilder.writeListFloat64(_vf64!);
2128    fbBuilder.startTable(12);
2129    fbBuilder.addInt8(0, _i8);
2130    fbBuilder.addUint8(1, _u8);
2131    fbBuilder.addInt16(2, _i16);
2132    fbBuilder.addUint16(3, _u16);
2133    fbBuilder.addInt32(4, _i32);
2134    fbBuilder.addUint32(5, _u32);
2135    fbBuilder.addInt64(6, _i64);
2136    fbBuilder.addUint64(7, _u64);
2137    fbBuilder.addFloat32(8, _f32);
2138    fbBuilder.addFloat64(9, _f64);
2139    fbBuilder.addOffset(10, v8Offset);
2140    fbBuilder.addOffset(11, vf64Offset);
2141    return fbBuilder.endTable();
2142  }
2143
2144  /// Convenience method to serialize to byte list.
2145  @override
2146  Uint8List toBytes([String? fileIdentifier]) {
2147    final fbBuilder = fb.Builder(deduplicateTables: false);
2148    fbBuilder.finish(finish(fbBuilder), fileIdentifier);
2149    return fbBuilder.buffer;
2150  }
2151}
2152