• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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() -> float:
23        return buf_.read_float32_le(pos_ + 0)
24    def y() -> float:
25        return buf_.read_float32_le(pos_ + 4)
26    def z() -> float:
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() -> MyGame.Sample.Vec3?:
38        let o = flatbuffers.field_struct(buf_, pos_, 4)
39        return if o: MyGame.Sample.Vec3 { buf_, o } else: nil
40    def mana() -> int:
41        return flatbuffers.field_int16(buf_, pos_, 6, 150)
42    def hp() -> int:
43        return flatbuffers.field_int16(buf_, pos_, 8, 100)
44    def name() -> string:
45        return flatbuffers.field_string(buf_, pos_, 10)
46    def inventory(i:int) -> int:
47        return read_uint8_le(buf_, buf_.flatbuffers.field_vector(pos_, 14) + i * 1)
48    def inventory_length() -> int:
49        return flatbuffers.field_vector_len(buf_, pos_, 14)
50    def color() -> Color:
51        return Color(flatbuffers.field_int8(buf_, pos_, 16, 2))
52    def weapons(i:int) -> MyGame.Sample.Weapon:
53        return MyGame.Sample.Weapon { buf_, flatbuffers.indirect(buf_, flatbuffers.field_vector(buf_, pos_, 18) + i * 4) }
54    def weapons_length() -> int:
55        return flatbuffers.field_vector_len(buf_, pos_, 18)
56    def equipped_type() -> Equipment:
57        return Equipment(flatbuffers.field_uint8(buf_, pos_, 20, 0))
58    def equipped_as_Weapon():
59        return MyGame.Sample.Weapon { buf_, flatbuffers.field_table(buf_, pos_, 22) }
60    def path(i:int) -> MyGame.Sample.Vec3:
61        return MyGame.Sample.Vec3 { buf_, flatbuffers.field_vector(buf_, pos_, 24) + i * 12 }
62    def path_length() -> int:
63        return flatbuffers.field_vector_len(buf_, pos_, 24)
64
65def GetRootAsMonster(buf:string): return Monster { buf, flatbuffers.indirect(buf, 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() -> string:
124        return flatbuffers.field_string(buf_, pos_, 4)
125    def damage() -> int:
126        return flatbuffers.field_int16(buf_, pos_, 6, 0)
127
128def GetRootAsWeapon(buf:string): return Weapon { buf, flatbuffers.indirect(buf, 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