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