1// automatically generated by the FlatBuffers compiler, do not modify 2import flatbuffers 3 4namespace MyGame_Sample 5 6enum Color: 7 Color_Red = 0 8 Color_Green = 1 9 Color_Blue = 2 10 11enum Equipment: 12 Equipment_NONE = 0 13 Equipment_Weapon = 1 14 15class Vec3 16 17class Monster 18 19class Weapon 20 21class Vec3 : flatbuffers_handle 22 def x(): 23 return buf_.read_float32_le(pos_ + 0) 24 def y(): 25 return buf_.read_float32_le(pos_ + 4) 26 def z(): 27 return buf_.read_float32_le(pos_ + 8) 28 29def CreateVec3(b_:flatbuffers_builder, x:float, y:float, z:float): 30 b_.Prep(4, 12) 31 b_.PrependFloat32(z) 32 b_.PrependFloat32(y) 33 b_.PrependFloat32(x) 34 return b_.Offset() 35 36class Monster : flatbuffers_handle 37 def pos(): 38 let o = buf_.flatbuffers_field_struct(pos_, 4) 39 return if o: MyGame_Sample_Vec3 { buf_, o } else: nil 40 def mana(): 41 return buf_.flatbuffers_field_int16(pos_, 6, 150) 42 def hp(): 43 return buf_.flatbuffers_field_int16(pos_, 8, 100) 44 def name(): 45 return buf_.flatbuffers_field_string(pos_, 10) 46 def inventory(i:int): 47 return buf_.read_int8_le(buf_.flatbuffers_field_vector(pos_, 14) + i * 1) 48 def inventory_length(): 49 return buf_.flatbuffers_field_vector_len(pos_, 14) 50 def color(): 51 return Color(buf_.flatbuffers_field_int8(pos_, 16, 2)) 52 def weapons(i:int): 53 return MyGame_Sample_Weapon { buf_, buf_.flatbuffers_indirect(buf_.flatbuffers_field_vector(pos_, 18) + i * 4) } 54 def weapons_length(): 55 return buf_.flatbuffers_field_vector_len(pos_, 18) 56 def equipped_type(): 57 return Equipment(buf_.flatbuffers_field_int8(pos_, 20, 0)) 58 def equipped_as_Weapon(): 59 return MyGame_Sample_Weapon { buf_, buf_.flatbuffers_field_table(pos_, 22) } 60 def path(i:int): 61 return MyGame_Sample_Vec3 { buf_, buf_.flatbuffers_field_vector(pos_, 24) + i * 12 } 62 def path_length(): 63 return buf_.flatbuffers_field_vector_len(pos_, 24) 64 65def GetRootAsMonster(buf:string): return Monster { buf, buf.flatbuffers_indirect(0) } 66 67struct MonsterBuilder: 68 b_:flatbuffers_builder 69 def start(): 70 b_.StartObject(11) 71 return this 72 def add_pos(pos:flatbuffers_offset): 73 b_.PrependStructSlot(0, pos) 74 return this 75 def add_mana(mana:int): 76 b_.PrependInt16Slot(1, mana, 150) 77 return this 78 def add_hp(hp:int): 79 b_.PrependInt16Slot(2, hp, 100) 80 return this 81 def add_name(name:flatbuffers_offset): 82 b_.PrependUOffsetTRelativeSlot(3, name) 83 return this 84 def add_inventory(inventory:flatbuffers_offset): 85 b_.PrependUOffsetTRelativeSlot(5, inventory) 86 return this 87 def add_color(color:Color): 88 b_.PrependInt8Slot(6, color, 2) 89 return this 90 def add_weapons(weapons:flatbuffers_offset): 91 b_.PrependUOffsetTRelativeSlot(7, weapons) 92 return this 93 def add_equipped_type(equipped_type:Equipment): 94 b_.PrependUint8Slot(8, equipped_type, 0) 95 return this 96 def add_equipped(equipped:flatbuffers_offset): 97 b_.PrependUOffsetTRelativeSlot(9, equipped) 98 return this 99 def add_path(path:flatbuffers_offset): 100 b_.PrependUOffsetTRelativeSlot(10, path) 101 return this 102 def end(): 103 return b_.EndObject() 104 105def MonsterStartInventoryVector(b_:flatbuffers_builder, n_:int): 106 b_.StartVector(1, n_, 1) 107def MonsterCreateInventoryVector(b_:flatbuffers_builder, v_:[int]): 108 b_.StartVector(1, v_.length, 1) 109 reverse(v_) e_: b_.PrependUint8(e_) 110 return b_.EndVector(v_.length) 111 112def MonsterStartWeaponsVector(b_:flatbuffers_builder, n_:int): 113 b_.StartVector(4, n_, 4) 114def MonsterCreateWeaponsVector(b_:flatbuffers_builder, v_:[flatbuffers_offset]): 115 b_.StartVector(4, v_.length, 4) 116 reverse(v_) e_: b_.PrependUOffsetTRelative(e_) 117 return b_.EndVector(v_.length) 118 119def MonsterStartPathVector(b_:flatbuffers_builder, n_:int): 120 b_.StartVector(12, n_, 4) 121 122class Weapon : flatbuffers_handle 123 def name(): 124 return buf_.flatbuffers_field_string(pos_, 4) 125 def damage(): 126 return buf_.flatbuffers_field_int16(pos_, 6, 0) 127 128def GetRootAsWeapon(buf:string): return Weapon { buf, buf.flatbuffers_indirect(0) } 129 130struct WeaponBuilder: 131 b_:flatbuffers_builder 132 def start(): 133 b_.StartObject(2) 134 return this 135 def add_name(name:flatbuffers_offset): 136 b_.PrependUOffsetTRelativeSlot(0, name) 137 return this 138 def add_damage(damage:int): 139 b_.PrependInt16Slot(1, damage, 0) 140 return this 141 def end(): 142 return b_.EndObject() 143 144