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.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) {
15 final result = values[value];
16 if (result == null) {
17 throw StateError('Invalid value $value for bit flag enum Color');
18 }
19 return result;
20 }
21
22 static Color? _createOrNull(int? value) =>
23 value == null ? null : Color.fromValue(value);
24
25 static const int minValue = 0;
26 static const int maxValue = 2;
27 static bool containsValue(int value) => values.containsKey(value);
28
29 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};
36
37 static const fb.Reader<Color> reader = _ColorReader();
38
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) =>
53 Color.fromValue(const fb.Int8Reader().read(bc, offset));
54}
55
56class EquipmentTypeId {
57 final int value;
58 const EquipmentTypeId._(this.value);
59
60 factory EquipmentTypeId.fromValue(int value) {
61 final result = values[value];
62 if (result == null) {
63 throw StateError('Invalid value $value for bit flag enum EquipmentTypeId');
64 }
65 return result;
66 }
67
68 static EquipmentTypeId? _createOrNull(int? value) =>
69 value == null ? null : EquipmentTypeId.fromValue(value);
70
71 static const int minValue = 0;
72 static const int maxValue = 1;
73 static bool containsValue(int value) => values.containsKey(value);
74
75 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};
80
81 static const fb.Reader<EquipmentTypeId> reader = _EquipmentTypeIdReader();
82
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) =>
97 EquipmentTypeId.fromValue(const fb.Uint8Reader().read(bc, offset));
98}
99
100class Vec3 {
101 Vec3._(this._bc, this._bcOffset);
102
103 static const fb.Reader<Vec3> reader = _Vec3Reader();
104
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) =>
126 Vec3._(bc, offset);
127}
128
129class Vec3Builder {
130 Vec3Builder(this.fbBuilder);
131
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({
149 required double x,
150 required double y,
151 required double z,
152 })
153 : _x = x,
154 _y = y,
155 _z = z;
156
157 /// Finish building, and store into the [fbBuilder].
158 @override
159 int finish(fb.Builder fbBuilder) {
160 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
168 Uint8List toBytes([String? fileIdentifier]) {
169 final fbBuilder = fb.Builder(deduplicateTables: false);
170 fbBuilder.finish(finish(fbBuilder), fileIdentifier);
171 return fbBuilder.buffer;
172 }
173}
174class Monster {
175 Monster._(this._bc, this._bcOffset);
176 factory Monster(List<int> bytes) {
177 final rootRef = fb.BufferContext.fromBytes(bytes);
178 return reader.read(rootRef, 0);
179 }
180
181 static const fb.Reader<Monster> reader = _MonsterReader();
182
183 final fb.BufferContext _bc;
184 final int _bcOffset;
185
186 Vec3? get pos => Vec3.reader.vTableGetNullable(_bc, _bcOffset, 4);
187 int get mana => const fb.Int16Reader().vTableGet(_bc, _bcOffset, 6, 150);
188 int get hp => const fb.Int16Reader().vTableGet(_bc, _bcOffset, 8, 100);
189 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));
194 dynamic get equipped {
195 switch (equippedType?.value) {
196 case 1: return Weapon.reader.vTableGetNullable(_bc, _bcOffset, 22);
197 default: return null;
198 }
199 }
200 List<Vec3>? get path => const fb.ListReader<Vec3>(Vec3.reader).vTableGetNullable(_bc, _bcOffset, 24);
201
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) =>
213 Monster._(bc, offset);
214}
215
216class MonsterBuilder {
217 MonsterBuilder(this.fbBuilder);
218
219 final fb.Builder fbBuilder;
220
221 void begin() {
222 fbBuilder.startTable(10);
223 }
224
225 int addPos(int offset) {
226 fbBuilder.addStruct(0, offset);
227 return fbBuilder.offset;
228 }
229 int addMana(int? mana) {
230 fbBuilder.addInt16(1, mana);
231 return fbBuilder.offset;
232 }
233 int addHp(int? hp) {
234 fbBuilder.addInt16(2, hp);
235 return fbBuilder.offset;
236 }
237 int addNameOffset(int? offset) {
238 fbBuilder.addOffset(3, offset);
239 return fbBuilder.offset;
240 }
241 int addInventoryOffset(int? offset) {
242 fbBuilder.addOffset(5, offset);
243 return fbBuilder.offset;
244 }
245 int addColor(Color? color) {
246 fbBuilder.addInt8(6, color?.value);
247 return fbBuilder.offset;
248 }
249 int addWeaponsOffset(int? offset) {
250 fbBuilder.addOffset(7, offset);
251 return fbBuilder.offset;
252 }
253 int addEquippedType(EquipmentTypeId? equippedType) {
254 fbBuilder.addUint8(8, equippedType?.value);
255 return fbBuilder.offset;
256 }
257 int addEquippedOffset(int? offset) {
258 fbBuilder.addOffset(9, offset);
259 return fbBuilder.offset;
260 }
261 int addPathOffset(int? offset) {
262 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 {
272 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;
280 final dynamic _equipped;
281 final List<Vec3ObjectBuilder>? _path;
282
283 MonsterObjectBuilder({
284 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,
292 dynamic equipped,
293 List<Vec3ObjectBuilder>? path,
294 })
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
308 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);
319 if (_pos != null) {
320 fbBuilder.addStruct(0, _pos!.finish(fbBuilder));
321 }
322 fbBuilder.addInt16(1, _mana);
323 fbBuilder.addInt16(2, _hp);
324 fbBuilder.addOffset(3, nameOffset);
325 fbBuilder.addOffset(5, inventoryOffset);
326 fbBuilder.addInt8(6, _color?.value);
327 fbBuilder.addOffset(7, weaponsOffset);
328 fbBuilder.addUint8(8, _equippedType?.value);
329 fbBuilder.addOffset(9, equippedOffset);
330 fbBuilder.addOffset(10, pathOffset);
331 return fbBuilder.endTable();
332 }
333
334 /// Convenience method to serialize to byte list.
335 @override
336 Uint8List toBytes([String? fileIdentifier]) {
337 final fbBuilder = fb.Builder(deduplicateTables: false);
338 fbBuilder.finish(finish(fbBuilder), fileIdentifier);
339 return fbBuilder.buffer;
340 }
341}
342class Weapon {
343 Weapon._(this._bc, this._bcOffset);
344 factory Weapon(List<int> bytes) {
345 final rootRef = fb.BufferContext.fromBytes(bytes);
346 return reader.read(rootRef, 0);
347 }
348
349 static const fb.Reader<Weapon> reader = _WeaponReader();
350
351 final fb.BufferContext _bc;
352 final int _bcOffset;
353
354 String? get name => const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 4);
355 int get damage => const fb.Int16Reader().vTableGet(_bc, _bcOffset, 6, 0);
356
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) =>
368 Weapon._(bc, offset);
369}
370
371class WeaponBuilder {
372 WeaponBuilder(this.fbBuilder);
373
374 final fb.Builder fbBuilder;
375
376 void begin() {
377 fbBuilder.startTable(2);
378 }
379
380 int addNameOffset(int? offset) {
381 fbBuilder.addOffset(0, offset);
382 return fbBuilder.offset;
383 }
384 int addDamage(int? damage) {
385 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 {
395 final String? _name;
396 final int? _damage;
397
398 WeaponObjectBuilder({
399 String? name,
400 int? damage,
401 })
402 : _name = name,
403 _damage = damage;
404
405 /// Finish building, and store into the [fbBuilder].
406 @override
407 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);
412 fbBuilder.addInt16(1, _damage);
413 return fbBuilder.endTable();
414 }
415
416 /// Convenience method to serialize to byte list.
417 @override
418 Uint8List toBytes([String? fileIdentifier]) {
419 final fbBuilder = fb.Builder(deduplicateTables: false);
420 fbBuilder.finish(finish(fbBuilder), fileIdentifier);
421 return fbBuilder.buffer;
422 }
423}
View as plain text