blob: 702cdd428abf9bc255517ddb08cf84af713a9702 [file] [log] [blame]
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001// 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