blob: ba0a81f0d57f40580c2cb4d27c387586bab071e1 [file] [log] [blame]
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001// automatically generated by the FlatBuffers compiler, do not modify
James Kuszmaul8e62b022022-03-22 09:33:25 -07002// ignore_for_file: unused_import, unused_field, unused_element, unused_local_variable
Austin Schuhe89fa2d2019-08-14 20:24:23 -07003
4library my_game.sample;
5
6import 'dart:typed_data' show Uint8List;
7import 'package:flat_buffers/flat_buffers.dart' as fb;
8
9
10class Color {
11 final int value;
12 const Color._(this.value);
13
14 factory Color.fromValue(int value) {
James Kuszmaul8e62b022022-03-22 09:33:25 -070015 final result = values[value];
16 if (result == null) {
17 throw StateError('Invalid value $value for bit flag enum Color');
Austin Schuhe89fa2d2019-08-14 20:24:23 -070018 }
James Kuszmaul8e62b022022-03-22 09:33:25 -070019 return result;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070020 }
21
James Kuszmaul8e62b022022-03-22 09:33:25 -070022 static Color? _createOrNull(int? value) =>
23 value == null ? null : Color.fromValue(value);
24
Austin Schuhe89fa2d2019-08-14 20:24:23 -070025 static const int minValue = 0;
26 static const int maxValue = 2;
27 static bool containsValue(int value) => values.containsKey(value);
28
James Kuszmaul8e62b022022-03-22 09:33:25 -070029 static const Color Red = Color._(0);
30 static const Color Green = Color._(1);
31 static const Color Blue = Color._(2);
32 static const Map<int, Color> values = {
33 0: Red,
34 1: Green,
35 2: Blue};
Austin Schuhe89fa2d2019-08-14 20:24:23 -070036
James Kuszmaul8e62b022022-03-22 09:33:25 -070037 static const fb.Reader<Color> reader = _ColorReader();
Austin Schuhe89fa2d2019-08-14 20:24:23 -070038
39 @override
40 String toString() {
41 return 'Color{value: $value}';
42 }
43}
44
45class _ColorReader extends fb.Reader<Color> {
46 const _ColorReader();
47
48 @override
49 int get size => 1;
50
51 @override
52 Color read(fb.BufferContext bc, int offset) =>
James Kuszmaul8e62b022022-03-22 09:33:25 -070053 Color.fromValue(const fb.Int8Reader().read(bc, offset));
Austin Schuhe89fa2d2019-08-14 20:24:23 -070054}
55
56class EquipmentTypeId {
57 final int value;
58 const EquipmentTypeId._(this.value);
59
60 factory EquipmentTypeId.fromValue(int value) {
James Kuszmaul8e62b022022-03-22 09:33:25 -070061 final result = values[value];
62 if (result == null) {
63 throw StateError('Invalid value $value for bit flag enum EquipmentTypeId');
Austin Schuhe89fa2d2019-08-14 20:24:23 -070064 }
James Kuszmaul8e62b022022-03-22 09:33:25 -070065 return result;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070066 }
67
James Kuszmaul8e62b022022-03-22 09:33:25 -070068 static EquipmentTypeId? _createOrNull(int? value) =>
69 value == null ? null : EquipmentTypeId.fromValue(value);
70
Austin Schuhe89fa2d2019-08-14 20:24:23 -070071 static const int minValue = 0;
72 static const int maxValue = 1;
73 static bool containsValue(int value) => values.containsKey(value);
74
James Kuszmaul8e62b022022-03-22 09:33:25 -070075 static const EquipmentTypeId NONE = EquipmentTypeId._(0);
76 static const EquipmentTypeId Weapon = EquipmentTypeId._(1);
77 static const Map<int, EquipmentTypeId> values = {
78 0: NONE,
79 1: Weapon};
Austin Schuhe89fa2d2019-08-14 20:24:23 -070080
James Kuszmaul8e62b022022-03-22 09:33:25 -070081 static const fb.Reader<EquipmentTypeId> reader = _EquipmentTypeIdReader();
Austin Schuhe89fa2d2019-08-14 20:24:23 -070082
83 @override
84 String toString() {
85 return 'EquipmentTypeId{value: $value}';
86 }
87}
88
89class _EquipmentTypeIdReader extends fb.Reader<EquipmentTypeId> {
90 const _EquipmentTypeIdReader();
91
92 @override
93 int get size => 1;
94
95 @override
96 EquipmentTypeId read(fb.BufferContext bc, int offset) =>
James Kuszmaul8e62b022022-03-22 09:33:25 -070097 EquipmentTypeId.fromValue(const fb.Uint8Reader().read(bc, offset));
Austin Schuhe89fa2d2019-08-14 20:24:23 -070098}
99
100class Vec3 {
101 Vec3._(this._bc, this._bcOffset);
102
James Kuszmaul8e62b022022-03-22 09:33:25 -0700103 static const fb.Reader<Vec3> reader = _Vec3Reader();
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700104
105 final fb.BufferContext _bc;
106 final int _bcOffset;
107
108 double get x => const fb.Float32Reader().read(_bc, _bcOffset + 0);
109 double get y => const fb.Float32Reader().read(_bc, _bcOffset + 4);
110 double get z => const fb.Float32Reader().read(_bc, _bcOffset + 8);
111
112 @override
113 String toString() {
114 return 'Vec3{x: $x, y: $y, z: $z}';
115 }
116}
117
118class _Vec3Reader extends fb.StructReader<Vec3> {
119 const _Vec3Reader();
120
121 @override
122 int get size => 12;
123
124 @override
125 Vec3 createObject(fb.BufferContext bc, int offset) =>
James Kuszmaul8e62b022022-03-22 09:33:25 -0700126 Vec3._(bc, offset);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700127}
128
129class Vec3Builder {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700130 Vec3Builder(this.fbBuilder);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700131
132 final fb.Builder fbBuilder;
133
134 int finish(double x, double y, double z) {
135 fbBuilder.putFloat32(z);
136 fbBuilder.putFloat32(y);
137 fbBuilder.putFloat32(x);
138 return fbBuilder.offset;
139 }
140
141}
142
143class Vec3ObjectBuilder extends fb.ObjectBuilder {
144 final double _x;
145 final double _y;
146 final double _z;
147
148 Vec3ObjectBuilder({
James Kuszmaul8e62b022022-03-22 09:33:25 -0700149 required double x,
150 required double y,
151 required double z,
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700152 })
153 : _x = x,
154 _y = y,
155 _z = z;
156
157 /// Finish building, and store into the [fbBuilder].
158 @override
James Kuszmaul8e62b022022-03-22 09:33:25 -0700159 int finish(fb.Builder fbBuilder) {
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700160 fbBuilder.putFloat32(_z);
161 fbBuilder.putFloat32(_y);
162 fbBuilder.putFloat32(_x);
163 return fbBuilder.offset;
164 }
165
166 /// Convenience method to serialize to byte list.
167 @override
James Kuszmaul8e62b022022-03-22 09:33:25 -0700168 Uint8List toBytes([String? fileIdentifier]) {
169 final fbBuilder = fb.Builder(deduplicateTables: false);
170 fbBuilder.finish(finish(fbBuilder), fileIdentifier);
171 return fbBuilder.buffer;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700172 }
173}
174class Monster {
175 Monster._(this._bc, this._bcOffset);
176 factory Monster(List<int> bytes) {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700177 final rootRef = fb.BufferContext.fromBytes(bytes);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700178 return reader.read(rootRef, 0);
179 }
180
James Kuszmaul8e62b022022-03-22 09:33:25 -0700181 static const fb.Reader<Monster> reader = _MonsterReader();
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700182
183 final fb.BufferContext _bc;
184 final int _bcOffset;
185
James Kuszmaul8e62b022022-03-22 09:33:25 -0700186 Vec3? get pos => Vec3.reader.vTableGetNullable(_bc, _bcOffset, 4);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700187 int get mana => const fb.Int16Reader().vTableGet(_bc, _bcOffset, 6, 150);
188 int get hp => const fb.Int16Reader().vTableGet(_bc, _bcOffset, 8, 100);
James Kuszmaul8e62b022022-03-22 09:33:25 -0700189 String? get name => const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 10);
190 List<int>? get inventory => const fb.Uint8ListReader().vTableGetNullable(_bc, _bcOffset, 14);
191 Color get color => Color.fromValue(const fb.Int8Reader().vTableGet(_bc, _bcOffset, 16, 2));
192 List<Weapon>? get weapons => const fb.ListReader<Weapon>(Weapon.reader).vTableGetNullable(_bc, _bcOffset, 18);
193 EquipmentTypeId? get equippedType => EquipmentTypeId._createOrNull(const fb.Uint8Reader().vTableGetNullable(_bc, _bcOffset, 20));
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700194 dynamic get equipped {
195 switch (equippedType?.value) {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700196 case 1: return Weapon.reader.vTableGetNullable(_bc, _bcOffset, 22);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700197 default: return null;
198 }
199 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700200 List<Vec3>? get path => const fb.ListReader<Vec3>(Vec3.reader).vTableGetNullable(_bc, _bcOffset, 24);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700201
202 @override
203 String toString() {
204 return 'Monster{pos: $pos, mana: $mana, hp: $hp, name: $name, inventory: $inventory, color: $color, weapons: $weapons, equippedType: $equippedType, equipped: $equipped, path: $path}';
205 }
206}
207
208class _MonsterReader extends fb.TableReader<Monster> {
209 const _MonsterReader();
210
211 @override
212 Monster createObject(fb.BufferContext bc, int offset) =>
James Kuszmaul8e62b022022-03-22 09:33:25 -0700213 Monster._(bc, offset);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700214}
215
216class MonsterBuilder {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700217 MonsterBuilder(this.fbBuilder);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700218
219 final fb.Builder fbBuilder;
220
221 void begin() {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700222 fbBuilder.startTable(10);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700223 }
224
225 int addPos(int offset) {
226 fbBuilder.addStruct(0, offset);
227 return fbBuilder.offset;
228 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700229 int addMana(int? mana) {
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700230 fbBuilder.addInt16(1, mana);
231 return fbBuilder.offset;
232 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700233 int addHp(int? hp) {
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700234 fbBuilder.addInt16(2, hp);
235 return fbBuilder.offset;
236 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700237 int addNameOffset(int? offset) {
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700238 fbBuilder.addOffset(3, offset);
239 return fbBuilder.offset;
240 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700241 int addInventoryOffset(int? offset) {
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700242 fbBuilder.addOffset(5, offset);
243 return fbBuilder.offset;
244 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700245 int addColor(Color? color) {
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700246 fbBuilder.addInt8(6, color?.value);
247 return fbBuilder.offset;
248 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700249 int addWeaponsOffset(int? offset) {
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700250 fbBuilder.addOffset(7, offset);
251 return fbBuilder.offset;
252 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700253 int addEquippedType(EquipmentTypeId? equippedType) {
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700254 fbBuilder.addUint8(8, equippedType?.value);
255 return fbBuilder.offset;
256 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700257 int addEquippedOffset(int? offset) {
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700258 fbBuilder.addOffset(9, offset);
259 return fbBuilder.offset;
260 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700261 int addPathOffset(int? offset) {
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700262 fbBuilder.addOffset(10, offset);
263 return fbBuilder.offset;
264 }
265
266 int finish() {
267 return fbBuilder.endTable();
268 }
269}
270
271class MonsterObjectBuilder extends fb.ObjectBuilder {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700272 final Vec3ObjectBuilder? _pos;
273 final int? _mana;
274 final int? _hp;
275 final String? _name;
276 final List<int>? _inventory;
277 final Color? _color;
278 final List<WeaponObjectBuilder>? _weapons;
279 final EquipmentTypeId? _equippedType;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700280 final dynamic _equipped;
James Kuszmaul8e62b022022-03-22 09:33:25 -0700281 final List<Vec3ObjectBuilder>? _path;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700282
283 MonsterObjectBuilder({
James Kuszmaul8e62b022022-03-22 09:33:25 -0700284 Vec3ObjectBuilder? pos,
285 int? mana,
286 int? hp,
287 String? name,
288 List<int>? inventory,
289 Color? color,
290 List<WeaponObjectBuilder>? weapons,
291 EquipmentTypeId? equippedType,
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700292 dynamic equipped,
James Kuszmaul8e62b022022-03-22 09:33:25 -0700293 List<Vec3ObjectBuilder>? path,
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700294 })
295 : _pos = pos,
296 _mana = mana,
297 _hp = hp,
298 _name = name,
299 _inventory = inventory,
300 _color = color,
301 _weapons = weapons,
302 _equippedType = equippedType,
303 _equipped = equipped,
304 _path = path;
305
306 /// Finish building, and store into the [fbBuilder].
307 @override
James Kuszmaul8e62b022022-03-22 09:33:25 -0700308 int finish(fb.Builder fbBuilder) {
309 final int? nameOffset = _name == null ? null
310 : fbBuilder.writeString(_name!);
311 final int? inventoryOffset = _inventory == null ? null
312 : fbBuilder.writeListUint8(_inventory!);
313 final int? weaponsOffset = _weapons == null ? null
314 : fbBuilder.writeList(_weapons!.map((b) => b.getOrCreateOffset(fbBuilder)).toList());
315 final int? equippedOffset = _equipped?.getOrCreateOffset(fbBuilder);
316 final int? pathOffset = _path == null ? null
317 : fbBuilder.writeListOfStructs(_path!);
318 fbBuilder.startTable(10);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700319 if (_pos != null) {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700320 fbBuilder.addStruct(0, _pos!.finish(fbBuilder));
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700321 }
322 fbBuilder.addInt16(1, _mana);
323 fbBuilder.addInt16(2, _hp);
James Kuszmaul8e62b022022-03-22 09:33:25 -0700324 fbBuilder.addOffset(3, nameOffset);
325 fbBuilder.addOffset(5, inventoryOffset);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700326 fbBuilder.addInt8(6, _color?.value);
James Kuszmaul8e62b022022-03-22 09:33:25 -0700327 fbBuilder.addOffset(7, weaponsOffset);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700328 fbBuilder.addUint8(8, _equippedType?.value);
James Kuszmaul8e62b022022-03-22 09:33:25 -0700329 fbBuilder.addOffset(9, equippedOffset);
330 fbBuilder.addOffset(10, pathOffset);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700331 return fbBuilder.endTable();
332 }
333
334 /// Convenience method to serialize to byte list.
335 @override
James Kuszmaul8e62b022022-03-22 09:33:25 -0700336 Uint8List toBytes([String? fileIdentifier]) {
337 final fbBuilder = fb.Builder(deduplicateTables: false);
338 fbBuilder.finish(finish(fbBuilder), fileIdentifier);
339 return fbBuilder.buffer;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700340 }
341}
342class Weapon {
343 Weapon._(this._bc, this._bcOffset);
344 factory Weapon(List<int> bytes) {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700345 final rootRef = fb.BufferContext.fromBytes(bytes);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700346 return reader.read(rootRef, 0);
347 }
348
James Kuszmaul8e62b022022-03-22 09:33:25 -0700349 static const fb.Reader<Weapon> reader = _WeaponReader();
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700350
351 final fb.BufferContext _bc;
352 final int _bcOffset;
353
James Kuszmaul8e62b022022-03-22 09:33:25 -0700354 String? get name => const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 4);
355 int get damage => const fb.Int16Reader().vTableGet(_bc, _bcOffset, 6, 0);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700356
357 @override
358 String toString() {
359 return 'Weapon{name: $name, damage: $damage}';
360 }
361}
362
363class _WeaponReader extends fb.TableReader<Weapon> {
364 const _WeaponReader();
365
366 @override
367 Weapon createObject(fb.BufferContext bc, int offset) =>
James Kuszmaul8e62b022022-03-22 09:33:25 -0700368 Weapon._(bc, offset);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700369}
370
371class WeaponBuilder {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700372 WeaponBuilder(this.fbBuilder);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700373
374 final fb.Builder fbBuilder;
375
376 void begin() {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700377 fbBuilder.startTable(2);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700378 }
379
James Kuszmaul8e62b022022-03-22 09:33:25 -0700380 int addNameOffset(int? offset) {
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700381 fbBuilder.addOffset(0, offset);
382 return fbBuilder.offset;
383 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700384 int addDamage(int? damage) {
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700385 fbBuilder.addInt16(1, damage);
386 return fbBuilder.offset;
387 }
388
389 int finish() {
390 return fbBuilder.endTable();
391 }
392}
393
394class WeaponObjectBuilder extends fb.ObjectBuilder {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700395 final String? _name;
396 final int? _damage;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700397
398 WeaponObjectBuilder({
James Kuszmaul8e62b022022-03-22 09:33:25 -0700399 String? name,
400 int? damage,
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700401 })
402 : _name = name,
403 _damage = damage;
404
405 /// Finish building, and store into the [fbBuilder].
406 @override
James Kuszmaul8e62b022022-03-22 09:33:25 -0700407 int finish(fb.Builder fbBuilder) {
408 final int? nameOffset = _name == null ? null
409 : fbBuilder.writeString(_name!);
410 fbBuilder.startTable(2);
411 fbBuilder.addOffset(0, nameOffset);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700412 fbBuilder.addInt16(1, _damage);
413 return fbBuilder.endTable();
414 }
415
416 /// Convenience method to serialize to byte list.
417 @override
James Kuszmaul8e62b022022-03-22 09:33:25 -0700418 Uint8List toBytes([String? fileIdentifier]) {
419 final fbBuilder = fb.Builder(deduplicateTables: false);
420 fbBuilder.finish(finish(fbBuilder), fileIdentifier);
421 return fbBuilder.buffer;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700422 }
423}