| // automatically generated by the FlatBuffers compiler, do not modify |
| // ignore_for_file: unused_import, unused_field, unused_element, unused_local_variable |
| |
| library my_game.sample; |
| |
| import 'dart:typed_data' show Uint8List; |
| import 'package:flat_buffers/flat_buffers.dart' as fb; |
| |
| |
| class Color { |
| final int value; |
| const Color._(this.value); |
| |
| factory Color.fromValue(int value) { |
| final result = values[value]; |
| if (result == null) { |
| throw StateError('Invalid value $value for bit flag enum Color'); |
| } |
| return result; |
| } |
| |
| static Color? _createOrNull(int? value) => |
| value == null ? null : Color.fromValue(value); |
| |
| static const int minValue = 0; |
| static const int maxValue = 2; |
| static bool containsValue(int value) => values.containsKey(value); |
| |
| static const Color Red = Color._(0); |
| static const Color Green = Color._(1); |
| static const Color Blue = Color._(2); |
| static const Map<int, Color> values = { |
| 0: Red, |
| 1: Green, |
| 2: Blue}; |
| |
| static const fb.Reader<Color> reader = _ColorReader(); |
| |
| @override |
| String toString() { |
| return 'Color{value: $value}'; |
| } |
| } |
| |
| class _ColorReader extends fb.Reader<Color> { |
| const _ColorReader(); |
| |
| @override |
| int get size => 1; |
| |
| @override |
| Color read(fb.BufferContext bc, int offset) => |
| Color.fromValue(const fb.Int8Reader().read(bc, offset)); |
| } |
| |
| class EquipmentTypeId { |
| final int value; |
| const EquipmentTypeId._(this.value); |
| |
| factory EquipmentTypeId.fromValue(int value) { |
| final result = values[value]; |
| if (result == null) { |
| throw StateError('Invalid value $value for bit flag enum EquipmentTypeId'); |
| } |
| return result; |
| } |
| |
| static EquipmentTypeId? _createOrNull(int? value) => |
| value == null ? null : EquipmentTypeId.fromValue(value); |
| |
| static const int minValue = 0; |
| static const int maxValue = 1; |
| static bool containsValue(int value) => values.containsKey(value); |
| |
| static const EquipmentTypeId NONE = EquipmentTypeId._(0); |
| static const EquipmentTypeId Weapon = EquipmentTypeId._(1); |
| static const Map<int, EquipmentTypeId> values = { |
| 0: NONE, |
| 1: Weapon}; |
| |
| static const fb.Reader<EquipmentTypeId> reader = _EquipmentTypeIdReader(); |
| |
| @override |
| String toString() { |
| return 'EquipmentTypeId{value: $value}'; |
| } |
| } |
| |
| class _EquipmentTypeIdReader extends fb.Reader<EquipmentTypeId> { |
| const _EquipmentTypeIdReader(); |
| |
| @override |
| int get size => 1; |
| |
| @override |
| EquipmentTypeId read(fb.BufferContext bc, int offset) => |
| EquipmentTypeId.fromValue(const fb.Uint8Reader().read(bc, offset)); |
| } |
| |
| class Vec3 { |
| Vec3._(this._bc, this._bcOffset); |
| |
| static const fb.Reader<Vec3> reader = _Vec3Reader(); |
| |
| final fb.BufferContext _bc; |
| final int _bcOffset; |
| |
| double get x => const fb.Float32Reader().read(_bc, _bcOffset + 0); |
| double get y => const fb.Float32Reader().read(_bc, _bcOffset + 4); |
| double get z => const fb.Float32Reader().read(_bc, _bcOffset + 8); |
| |
| @override |
| String toString() { |
| return 'Vec3{x: $x, y: $y, z: $z}'; |
| } |
| } |
| |
| class _Vec3Reader extends fb.StructReader<Vec3> { |
| const _Vec3Reader(); |
| |
| @override |
| int get size => 12; |
| |
| @override |
| Vec3 createObject(fb.BufferContext bc, int offset) => |
| Vec3._(bc, offset); |
| } |
| |
| class Vec3Builder { |
| Vec3Builder(this.fbBuilder); |
| |
| final fb.Builder fbBuilder; |
| |
| int finish(double x, double y, double z) { |
| fbBuilder.putFloat32(z); |
| fbBuilder.putFloat32(y); |
| fbBuilder.putFloat32(x); |
| return fbBuilder.offset; |
| } |
| |
| } |
| |
| class Vec3ObjectBuilder extends fb.ObjectBuilder { |
| final double _x; |
| final double _y; |
| final double _z; |
| |
| Vec3ObjectBuilder({ |
| required double x, |
| required double y, |
| required double z, |
| }) |
| : _x = x, |
| _y = y, |
| _z = z; |
| |
| /// Finish building, and store into the [fbBuilder]. |
| @override |
| int finish(fb.Builder fbBuilder) { |
| fbBuilder.putFloat32(_z); |
| fbBuilder.putFloat32(_y); |
| fbBuilder.putFloat32(_x); |
| return fbBuilder.offset; |
| } |
| |
| /// Convenience method to serialize to byte list. |
| @override |
| Uint8List toBytes([String? fileIdentifier]) { |
| final fbBuilder = fb.Builder(deduplicateTables: false); |
| fbBuilder.finish(finish(fbBuilder), fileIdentifier); |
| return fbBuilder.buffer; |
| } |
| } |
| class Monster { |
| Monster._(this._bc, this._bcOffset); |
| factory Monster(List<int> bytes) { |
| final rootRef = fb.BufferContext.fromBytes(bytes); |
| return reader.read(rootRef, 0); |
| } |
| |
| static const fb.Reader<Monster> reader = _MonsterReader(); |
| |
| final fb.BufferContext _bc; |
| final int _bcOffset; |
| |
| Vec3? get pos => Vec3.reader.vTableGetNullable(_bc, _bcOffset, 4); |
| int get mana => const fb.Int16Reader().vTableGet(_bc, _bcOffset, 6, 150); |
| int get hp => const fb.Int16Reader().vTableGet(_bc, _bcOffset, 8, 100); |
| String? get name => const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 10); |
| List<int>? get inventory => const fb.Uint8ListReader().vTableGetNullable(_bc, _bcOffset, 14); |
| Color get color => Color.fromValue(const fb.Int8Reader().vTableGet(_bc, _bcOffset, 16, 2)); |
| List<Weapon>? get weapons => const fb.ListReader<Weapon>(Weapon.reader).vTableGetNullable(_bc, _bcOffset, 18); |
| EquipmentTypeId? get equippedType => EquipmentTypeId._createOrNull(const fb.Uint8Reader().vTableGetNullable(_bc, _bcOffset, 20)); |
| dynamic get equipped { |
| switch (equippedType?.value) { |
| case 1: return Weapon.reader.vTableGetNullable(_bc, _bcOffset, 22); |
| default: return null; |
| } |
| } |
| List<Vec3>? get path => const fb.ListReader<Vec3>(Vec3.reader).vTableGetNullable(_bc, _bcOffset, 24); |
| |
| @override |
| String toString() { |
| return 'Monster{pos: $pos, mana: $mana, hp: $hp, name: $name, inventory: $inventory, color: $color, weapons: $weapons, equippedType: $equippedType, equipped: $equipped, path: $path}'; |
| } |
| } |
| |
| class _MonsterReader extends fb.TableReader<Monster> { |
| const _MonsterReader(); |
| |
| @override |
| Monster createObject(fb.BufferContext bc, int offset) => |
| Monster._(bc, offset); |
| } |
| |
| class MonsterBuilder { |
| MonsterBuilder(this.fbBuilder); |
| |
| final fb.Builder fbBuilder; |
| |
| void begin() { |
| fbBuilder.startTable(10); |
| } |
| |
| int addPos(int offset) { |
| fbBuilder.addStruct(0, offset); |
| return fbBuilder.offset; |
| } |
| int addMana(int? mana) { |
| fbBuilder.addInt16(1, mana); |
| return fbBuilder.offset; |
| } |
| int addHp(int? hp) { |
| fbBuilder.addInt16(2, hp); |
| return fbBuilder.offset; |
| } |
| int addNameOffset(int? offset) { |
| fbBuilder.addOffset(3, offset); |
| return fbBuilder.offset; |
| } |
| int addInventoryOffset(int? offset) { |
| fbBuilder.addOffset(5, offset); |
| return fbBuilder.offset; |
| } |
| int addColor(Color? color) { |
| fbBuilder.addInt8(6, color?.value); |
| return fbBuilder.offset; |
| } |
| int addWeaponsOffset(int? offset) { |
| fbBuilder.addOffset(7, offset); |
| return fbBuilder.offset; |
| } |
| int addEquippedType(EquipmentTypeId? equippedType) { |
| fbBuilder.addUint8(8, equippedType?.value); |
| return fbBuilder.offset; |
| } |
| int addEquippedOffset(int? offset) { |
| fbBuilder.addOffset(9, offset); |
| return fbBuilder.offset; |
| } |
| int addPathOffset(int? offset) { |
| fbBuilder.addOffset(10, offset); |
| return fbBuilder.offset; |
| } |
| |
| int finish() { |
| return fbBuilder.endTable(); |
| } |
| } |
| |
| class MonsterObjectBuilder extends fb.ObjectBuilder { |
| final Vec3ObjectBuilder? _pos; |
| final int? _mana; |
| final int? _hp; |
| final String? _name; |
| final List<int>? _inventory; |
| final Color? _color; |
| final List<WeaponObjectBuilder>? _weapons; |
| final EquipmentTypeId? _equippedType; |
| final dynamic _equipped; |
| final List<Vec3ObjectBuilder>? _path; |
| |
| MonsterObjectBuilder({ |
| Vec3ObjectBuilder? pos, |
| int? mana, |
| int? hp, |
| String? name, |
| List<int>? inventory, |
| Color? color, |
| List<WeaponObjectBuilder>? weapons, |
| EquipmentTypeId? equippedType, |
| dynamic equipped, |
| List<Vec3ObjectBuilder>? path, |
| }) |
| : _pos = pos, |
| _mana = mana, |
| _hp = hp, |
| _name = name, |
| _inventory = inventory, |
| _color = color, |
| _weapons = weapons, |
| _equippedType = equippedType, |
| _equipped = equipped, |
| _path = path; |
| |
| /// Finish building, and store into the [fbBuilder]. |
| @override |
| int finish(fb.Builder fbBuilder) { |
| final int? nameOffset = _name == null ? null |
| : fbBuilder.writeString(_name!); |
| final int? inventoryOffset = _inventory == null ? null |
| : fbBuilder.writeListUint8(_inventory!); |
| final int? weaponsOffset = _weapons == null ? null |
| : fbBuilder.writeList(_weapons!.map((b) => b.getOrCreateOffset(fbBuilder)).toList()); |
| final int? equippedOffset = _equipped?.getOrCreateOffset(fbBuilder); |
| final int? pathOffset = _path == null ? null |
| : fbBuilder.writeListOfStructs(_path!); |
| fbBuilder.startTable(10); |
| if (_pos != null) { |
| fbBuilder.addStruct(0, _pos!.finish(fbBuilder)); |
| } |
| fbBuilder.addInt16(1, _mana); |
| fbBuilder.addInt16(2, _hp); |
| fbBuilder.addOffset(3, nameOffset); |
| fbBuilder.addOffset(5, inventoryOffset); |
| fbBuilder.addInt8(6, _color?.value); |
| fbBuilder.addOffset(7, weaponsOffset); |
| fbBuilder.addUint8(8, _equippedType?.value); |
| fbBuilder.addOffset(9, equippedOffset); |
| fbBuilder.addOffset(10, pathOffset); |
| return fbBuilder.endTable(); |
| } |
| |
| /// Convenience method to serialize to byte list. |
| @override |
| Uint8List toBytes([String? fileIdentifier]) { |
| final fbBuilder = fb.Builder(deduplicateTables: false); |
| fbBuilder.finish(finish(fbBuilder), fileIdentifier); |
| return fbBuilder.buffer; |
| } |
| } |
| class Weapon { |
| Weapon._(this._bc, this._bcOffset); |
| factory Weapon(List<int> bytes) { |
| final rootRef = fb.BufferContext.fromBytes(bytes); |
| return reader.read(rootRef, 0); |
| } |
| |
| static const fb.Reader<Weapon> reader = _WeaponReader(); |
| |
| final fb.BufferContext _bc; |
| final int _bcOffset; |
| |
| String? get name => const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 4); |
| int get damage => const fb.Int16Reader().vTableGet(_bc, _bcOffset, 6, 0); |
| |
| @override |
| String toString() { |
| return 'Weapon{name: $name, damage: $damage}'; |
| } |
| } |
| |
| class _WeaponReader extends fb.TableReader<Weapon> { |
| const _WeaponReader(); |
| |
| @override |
| Weapon createObject(fb.BufferContext bc, int offset) => |
| Weapon._(bc, offset); |
| } |
| |
| class WeaponBuilder { |
| WeaponBuilder(this.fbBuilder); |
| |
| final fb.Builder fbBuilder; |
| |
| void begin() { |
| fbBuilder.startTable(2); |
| } |
| |
| int addNameOffset(int? offset) { |
| fbBuilder.addOffset(0, offset); |
| return fbBuilder.offset; |
| } |
| int addDamage(int? damage) { |
| fbBuilder.addInt16(1, damage); |
| return fbBuilder.offset; |
| } |
| |
| int finish() { |
| return fbBuilder.endTable(); |
| } |
| } |
| |
| class WeaponObjectBuilder extends fb.ObjectBuilder { |
| final String? _name; |
| final int? _damage; |
| |
| WeaponObjectBuilder({ |
| String? name, |
| int? damage, |
| }) |
| : _name = name, |
| _damage = damage; |
| |
| /// Finish building, and store into the [fbBuilder]. |
| @override |
| int finish(fb.Builder fbBuilder) { |
| final int? nameOffset = _name == null ? null |
| : fbBuilder.writeString(_name!); |
| fbBuilder.startTable(2); |
| fbBuilder.addOffset(0, nameOffset); |
| fbBuilder.addInt16(1, _damage); |
| return fbBuilder.endTable(); |
| } |
| |
| /// Convenience method to serialize to byte list. |
| @override |
| Uint8List toBytes([String? fileIdentifier]) { |
| final fbBuilder = fb.Builder(deduplicateTables: false); |
| fbBuilder.finish(finish(fbBuilder), fileIdentifier); |
| return fbBuilder.buffer; |
| } |
| } |