• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#[ MyGame.Example.Monster
2  Automatically generated by the FlatBuffers compiler, do not modify.
3  Or modify. I'm a message, not a cop.
4
5  flatc version: 24.3.25
6
7  Declared by  :
8  Rooting type : MyGame.Example.Monster ()
9]#
10
11import ../InParentNamespace as MyGame_InParentNamespace
12import Ability as MyGame_Example_Ability
13import Any as MyGame_Example_Any
14import AnyAmbiguousAliases as MyGame_Example_AnyAmbiguousAliases
15import AnyUniqueAliases as MyGame_Example_AnyUniqueAliases
16import Color as MyGame_Example_Color
17import LongEnum as MyGame_Example_LongEnum
18import Race as MyGame_Example_Race
19import Referrable as MyGame_Example_Referrable
20import Stat as MyGame_Example_Stat
21import Test as MyGame_Example_Test
22import Vec3 as MyGame_Example_Vec3
23import flatbuffers
24import std/options
25
26#  an example documentation comment: "monster object"
27type Monster* = object of FlatObj
28func pos*(self: Monster): Option[MyGame_Example_Vec3.Vec3] =
29  let o = self.tab.Offset(4)
30  if o != 0:
31    return some(MyGame_Example_Vec3.Vec3(tab: Vtable(Bytes: self.tab.Bytes, Pos: self.tab.Pos + o)))
32func mana*(self: Monster): int16 =
33  let o = self.tab.Offset(6)
34  if o != 0:
35    return Get[int16](self.tab, self.tab.Pos + o)
36  return 150
37func `mana=`*(self: var Monster, n: int16): bool =
38  return self.tab.MutateSlot(6, n)
39func hp*(self: Monster): int16 =
40  let o = self.tab.Offset(8)
41  if o != 0:
42    return Get[int16](self.tab, self.tab.Pos + o)
43  return 100
44func `hp=`*(self: var Monster, n: int16): bool =
45  return self.tab.MutateSlot(8, n)
46func name*(self: Monster): string =
47  let o = self.tab.Offset(10)
48  if o != 0:
49    return self.tab.String(self.tab.Pos + o)
50  return ""
51func inventoryLength*(self: Monster): int =
52  let o = self.tab.Offset(14)
53  if o != 0:
54    return self.tab.VectorLen(o)
55func inventory*(self: Monster, j: int): uint8 =
56  let o = self.tab.Offset(14)
57  if o != 0:
58    var x = self.tab.Vector(o)
59    x += j.uoffset * 1.uoffset
60    return Get[uint8](self.tab, x)
61func inventory*(self: Monster): seq[uint8] =
62  let len = self.inventoryLength
63  for i in countup(0, len - 1):
64    result.add(self.inventory(i))
65func color*(self: Monster): MyGame_Example_Color.Color =
66  let o = self.tab.Offset(16)
67  if o != 0:
68    return MyGame_Example_Color.Color(Get[uint8](self.tab, self.tab.Pos + o))
69  return type(result)(8)
70func `color=`*(self: var Monster, n: MyGame_Example_Color.Color): bool =
71  return self.tab.MutateSlot(16, n)
72func testType*(self: Monster): MyGame_Example_Any.Any =
73  let o = self.tab.Offset(18)
74  if o != 0:
75    return MyGame_Example_Any.Any(Get[uint8](self.tab, self.tab.Pos + o))
76  return type(result)(0)
77func `testType=`*(self: var Monster, n: MyGame_Example_Any.Any): bool =
78  return self.tab.MutateSlot(18, n)
79func test*(self: Monster): Option[Vtable] =
80  let o = self.tab.Offset(20)
81  if o != 0:
82    return some(self.tab.Union(o))
83func test4Length*(self: Monster): int =
84  let o = self.tab.Offset(22)
85  if o != 0:
86    return self.tab.VectorLen(o)
87func test4*(self: Monster, j: int): MyGame_Example_Test.Test =
88  let o = self.tab.Offset(22)
89  if o != 0:
90    var x = self.tab.Vector(o)
91    x += j.uoffset * 4.uoffset
92    return MyGame_Example_Test.Test(tab: Vtable(Bytes: self.tab.Bytes, Pos: x))
93func test4*(self: Monster): seq[MyGame_Example_Test.Test] =
94  let len = self.test4Length
95  for i in countup(0, len - 1):
96    result.add(self.test4(i))
97func testarrayofstringLength*(self: Monster): int =
98  let o = self.tab.Offset(24)
99  if o != 0:
100    return self.tab.VectorLen(o)
101func testarrayofstring*(self: Monster, j: int): string =
102  let o = self.tab.Offset(24)
103  if o != 0:
104    var x = self.tab.Vector(o)
105    x += j.uoffset * 4.uoffset
106    return self.tab.String(x)
107func testarrayofstring*(self: Monster): seq[string] =
108  let len = self.testarrayofstringLength
109  for i in countup(0, len - 1):
110    result.add(self.testarrayofstring(i))
111func testarrayoftablesLength*(self: Monster): int =
112  let o = self.tab.Offset(26)
113  if o != 0:
114    return self.tab.VectorLen(o)
115func testarrayoftables*(self: Monster, j: int): Monster =
116  let o = self.tab.Offset(26)
117  if o != 0:
118    var x = self.tab.Vector(o)
119    x += j.uoffset * 4.uoffset
120    return Monster(tab: Vtable(Bytes: self.tab.Bytes, Pos: x))
121func testarrayoftables*(self: Monster): seq[Monster] =
122  let len = self.testarrayoftablesLength
123  for i in countup(0, len - 1):
124    result.add(self.testarrayoftables(i))
125func enemy*(self: Monster): Option[Monster] =
126  let o = self.tab.Offset(28)
127  if o != 0:
128    return some(Monster(tab: Vtable(Bytes: self.tab.Bytes, Pos: self.tab.Pos + o)))
129func testnestedflatbufferLength*(self: Monster): int =
130  let o = self.tab.Offset(30)
131  if o != 0:
132    return self.tab.VectorLen(o)
133func testnestedflatbuffer*(self: Monster, j: int): uint8 =
134  let o = self.tab.Offset(30)
135  if o != 0:
136    var x = self.tab.Vector(o)
137    x += j.uoffset * 1.uoffset
138    return Get[uint8](self.tab, x)
139func testnestedflatbuffer*(self: Monster): seq[uint8] =
140  let len = self.testnestedflatbufferLength
141  for i in countup(0, len - 1):
142    result.add(self.testnestedflatbuffer(i))
143func testempty*(self: Monster): Option[MyGame_Example_Stat.Stat] =
144  let o = self.tab.Offset(32)
145  if o != 0:
146    return some(MyGame_Example_Stat.Stat(tab: Vtable(Bytes: self.tab.Bytes, Pos: self.tab.Pos + o)))
147func testbool*(self: Monster): bool =
148  let o = self.tab.Offset(34)
149  if o != 0:
150    return Get[bool](self.tab, self.tab.Pos + o)
151  return false
152func `testbool=`*(self: var Monster, n: bool): bool =
153  return self.tab.MutateSlot(34, n)
154func testhashs32Fnv1*(self: Monster): int32 =
155  let o = self.tab.Offset(36)
156  if o != 0:
157    return Get[int32](self.tab, self.tab.Pos + o)
158  return 0
159func `testhashs32Fnv1=`*(self: var Monster, n: int32): bool =
160  return self.tab.MutateSlot(36, n)
161func testhashu32Fnv1*(self: Monster): uint32 =
162  let o = self.tab.Offset(38)
163  if o != 0:
164    return Get[uint32](self.tab, self.tab.Pos + o)
165  return 0
166func `testhashu32Fnv1=`*(self: var Monster, n: uint32): bool =
167  return self.tab.MutateSlot(38, n)
168func testhashs64Fnv1*(self: Monster): int64 =
169  let o = self.tab.Offset(40)
170  if o != 0:
171    return Get[int64](self.tab, self.tab.Pos + o)
172  return 0
173func `testhashs64Fnv1=`*(self: var Monster, n: int64): bool =
174  return self.tab.MutateSlot(40, n)
175func testhashu64Fnv1*(self: Monster): uint64 =
176  let o = self.tab.Offset(42)
177  if o != 0:
178    return Get[uint64](self.tab, self.tab.Pos + o)
179  return 0
180func `testhashu64Fnv1=`*(self: var Monster, n: uint64): bool =
181  return self.tab.MutateSlot(42, n)
182func testhashs32Fnv1a*(self: Monster): int32 =
183  let o = self.tab.Offset(44)
184  if o != 0:
185    return Get[int32](self.tab, self.tab.Pos + o)
186  return 0
187func `testhashs32Fnv1a=`*(self: var Monster, n: int32): bool =
188  return self.tab.MutateSlot(44, n)
189func testhashu32Fnv1a*(self: Monster): uint32 =
190  let o = self.tab.Offset(46)
191  if o != 0:
192    return Get[uint32](self.tab, self.tab.Pos + o)
193  return 0
194func `testhashu32Fnv1a=`*(self: var Monster, n: uint32): bool =
195  return self.tab.MutateSlot(46, n)
196func testhashs64Fnv1a*(self: Monster): int64 =
197  let o = self.tab.Offset(48)
198  if o != 0:
199    return Get[int64](self.tab, self.tab.Pos + o)
200  return 0
201func `testhashs64Fnv1a=`*(self: var Monster, n: int64): bool =
202  return self.tab.MutateSlot(48, n)
203func testhashu64Fnv1a*(self: Monster): uint64 =
204  let o = self.tab.Offset(50)
205  if o != 0:
206    return Get[uint64](self.tab, self.tab.Pos + o)
207  return 0
208func `testhashu64Fnv1a=`*(self: var Monster, n: uint64): bool =
209  return self.tab.MutateSlot(50, n)
210func testarrayofboolsLength*(self: Monster): int =
211  let o = self.tab.Offset(52)
212  if o != 0:
213    return self.tab.VectorLen(o)
214func testarrayofbools*(self: Monster, j: int): bool =
215  let o = self.tab.Offset(52)
216  if o != 0:
217    var x = self.tab.Vector(o)
218    x += j.uoffset * 1.uoffset
219    return Get[bool](self.tab, x)
220func testarrayofbools*(self: Monster): seq[bool] =
221  let len = self.testarrayofboolsLength
222  for i in countup(0, len - 1):
223    result.add(self.testarrayofbools(i))
224func testf*(self: Monster): float32 =
225  let o = self.tab.Offset(54)
226  if o != 0:
227    return Get[float32](self.tab, self.tab.Pos + o)
228  return 3.14159
229func `testf=`*(self: var Monster, n: float32): bool =
230  return self.tab.MutateSlot(54, n)
231func testf2*(self: Monster): float32 =
232  let o = self.tab.Offset(56)
233  if o != 0:
234    return Get[float32](self.tab, self.tab.Pos + o)
235  return 3.0
236func `testf2=`*(self: var Monster, n: float32): bool =
237  return self.tab.MutateSlot(56, n)
238func testf3*(self: Monster): float32 =
239  let o = self.tab.Offset(58)
240  if o != 0:
241    return Get[float32](self.tab, self.tab.Pos + o)
242  return 0.0
243func `testf3=`*(self: var Monster, n: float32): bool =
244  return self.tab.MutateSlot(58, n)
245func testarrayofstring2Length*(self: Monster): int =
246  let o = self.tab.Offset(60)
247  if o != 0:
248    return self.tab.VectorLen(o)
249func testarrayofstring2*(self: Monster, j: int): string =
250  let o = self.tab.Offset(60)
251  if o != 0:
252    var x = self.tab.Vector(o)
253    x += j.uoffset * 4.uoffset
254    return self.tab.String(x)
255func testarrayofstring2*(self: Monster): seq[string] =
256  let len = self.testarrayofstring2Length
257  for i in countup(0, len - 1):
258    result.add(self.testarrayofstring2(i))
259func testarrayofsortedstructLength*(self: Monster): int =
260  let o = self.tab.Offset(62)
261  if o != 0:
262    return self.tab.VectorLen(o)
263func testarrayofsortedstruct*(self: Monster, j: int): MyGame_Example_Ability.Ability =
264  let o = self.tab.Offset(62)
265  if o != 0:
266    var x = self.tab.Vector(o)
267    x += j.uoffset * 8.uoffset
268    return MyGame_Example_Ability.Ability(tab: Vtable(Bytes: self.tab.Bytes, Pos: x))
269func testarrayofsortedstruct*(self: Monster): seq[MyGame_Example_Ability.Ability] =
270  let len = self.testarrayofsortedstructLength
271  for i in countup(0, len - 1):
272    result.add(self.testarrayofsortedstruct(i))
273func flexLength*(self: Monster): int =
274  let o = self.tab.Offset(64)
275  if o != 0:
276    return self.tab.VectorLen(o)
277func flex*(self: Monster, j: int): uint8 =
278  let o = self.tab.Offset(64)
279  if o != 0:
280    var x = self.tab.Vector(o)
281    x += j.uoffset * 1.uoffset
282    return Get[uint8](self.tab, x)
283func flex*(self: Monster): seq[uint8] =
284  let len = self.flexLength
285  for i in countup(0, len - 1):
286    result.add(self.flex(i))
287func test5Length*(self: Monster): int =
288  let o = self.tab.Offset(66)
289  if o != 0:
290    return self.tab.VectorLen(o)
291func test5*(self: Monster, j: int): MyGame_Example_Test.Test =
292  let o = self.tab.Offset(66)
293  if o != 0:
294    var x = self.tab.Vector(o)
295    x += j.uoffset * 4.uoffset
296    return MyGame_Example_Test.Test(tab: Vtable(Bytes: self.tab.Bytes, Pos: x))
297func test5*(self: Monster): seq[MyGame_Example_Test.Test] =
298  let len = self.test5Length
299  for i in countup(0, len - 1):
300    result.add(self.test5(i))
301func vectorOfLongsLength*(self: Monster): int =
302  let o = self.tab.Offset(68)
303  if o != 0:
304    return self.tab.VectorLen(o)
305func vectorOfLongs*(self: Monster, j: int): int64 =
306  let o = self.tab.Offset(68)
307  if o != 0:
308    var x = self.tab.Vector(o)
309    x += j.uoffset * 8.uoffset
310    return Get[int64](self.tab, x)
311func vectorOfLongs*(self: Monster): seq[int64] =
312  let len = self.vectorOfLongsLength
313  for i in countup(0, len - 1):
314    result.add(self.vectorOfLongs(i))
315func vectorOfDoublesLength*(self: Monster): int =
316  let o = self.tab.Offset(70)
317  if o != 0:
318    return self.tab.VectorLen(o)
319func vectorOfDoubles*(self: Monster, j: int): float64 =
320  let o = self.tab.Offset(70)
321  if o != 0:
322    var x = self.tab.Vector(o)
323    x += j.uoffset * 8.uoffset
324    return Get[float64](self.tab, x)
325func vectorOfDoubles*(self: Monster): seq[float64] =
326  let len = self.vectorOfDoublesLength
327  for i in countup(0, len - 1):
328    result.add(self.vectorOfDoubles(i))
329func parentNamespaceTest*(self: Monster): Option[MyGame_InParentNamespace.InParentNamespace] =
330  let o = self.tab.Offset(72)
331  if o != 0:
332    return some(MyGame_InParentNamespace.InParentNamespace(tab: Vtable(Bytes: self.tab.Bytes, Pos: self.tab.Pos + o)))
333func vectorOfReferrablesLength*(self: Monster): int =
334  let o = self.tab.Offset(74)
335  if o != 0:
336    return self.tab.VectorLen(o)
337func vectorOfReferrables*(self: Monster, j: int): MyGame_Example_Referrable.Referrable =
338  let o = self.tab.Offset(74)
339  if o != 0:
340    var x = self.tab.Vector(o)
341    x += j.uoffset * 4.uoffset
342    return MyGame_Example_Referrable.Referrable(tab: Vtable(Bytes: self.tab.Bytes, Pos: x))
343func vectorOfReferrables*(self: Monster): seq[MyGame_Example_Referrable.Referrable] =
344  let len = self.vectorOfReferrablesLength
345  for i in countup(0, len - 1):
346    result.add(self.vectorOfReferrables(i))
347func singleWeakReference*(self: Monster): uint64 =
348  let o = self.tab.Offset(76)
349  if o != 0:
350    return Get[uint64](self.tab, self.tab.Pos + o)
351  return 0
352func `singleWeakReference=`*(self: var Monster, n: uint64): bool =
353  return self.tab.MutateSlot(76, n)
354func vectorOfWeakReferencesLength*(self: Monster): int =
355  let o = self.tab.Offset(78)
356  if o != 0:
357    return self.tab.VectorLen(o)
358func vectorOfWeakReferences*(self: Monster, j: int): uint64 =
359  let o = self.tab.Offset(78)
360  if o != 0:
361    var x = self.tab.Vector(o)
362    x += j.uoffset * 8.uoffset
363    return Get[uint64](self.tab, x)
364func vectorOfWeakReferences*(self: Monster): seq[uint64] =
365  let len = self.vectorOfWeakReferencesLength
366  for i in countup(0, len - 1):
367    result.add(self.vectorOfWeakReferences(i))
368func vectorOfStrongReferrablesLength*(self: Monster): int =
369  let o = self.tab.Offset(80)
370  if o != 0:
371    return self.tab.VectorLen(o)
372func vectorOfStrongReferrables*(self: Monster, j: int): MyGame_Example_Referrable.Referrable =
373  let o = self.tab.Offset(80)
374  if o != 0:
375    var x = self.tab.Vector(o)
376    x += j.uoffset * 4.uoffset
377    return MyGame_Example_Referrable.Referrable(tab: Vtable(Bytes: self.tab.Bytes, Pos: x))
378func vectorOfStrongReferrables*(self: Monster): seq[MyGame_Example_Referrable.Referrable] =
379  let len = self.vectorOfStrongReferrablesLength
380  for i in countup(0, len - 1):
381    result.add(self.vectorOfStrongReferrables(i))
382func coOwningReference*(self: Monster): uint64 =
383  let o = self.tab.Offset(82)
384  if o != 0:
385    return Get[uint64](self.tab, self.tab.Pos + o)
386  return 0
387func `coOwningReference=`*(self: var Monster, n: uint64): bool =
388  return self.tab.MutateSlot(82, n)
389func vectorOfCoOwningReferencesLength*(self: Monster): int =
390  let o = self.tab.Offset(84)
391  if o != 0:
392    return self.tab.VectorLen(o)
393func vectorOfCoOwningReferences*(self: Monster, j: int): uint64 =
394  let o = self.tab.Offset(84)
395  if o != 0:
396    var x = self.tab.Vector(o)
397    x += j.uoffset * 8.uoffset
398    return Get[uint64](self.tab, x)
399func vectorOfCoOwningReferences*(self: Monster): seq[uint64] =
400  let len = self.vectorOfCoOwningReferencesLength
401  for i in countup(0, len - 1):
402    result.add(self.vectorOfCoOwningReferences(i))
403func nonOwningReference*(self: Monster): uint64 =
404  let o = self.tab.Offset(86)
405  if o != 0:
406    return Get[uint64](self.tab, self.tab.Pos + o)
407  return 0
408func `nonOwningReference=`*(self: var Monster, n: uint64): bool =
409  return self.tab.MutateSlot(86, n)
410func vectorOfNonOwningReferencesLength*(self: Monster): int =
411  let o = self.tab.Offset(88)
412  if o != 0:
413    return self.tab.VectorLen(o)
414func vectorOfNonOwningReferences*(self: Monster, j: int): uint64 =
415  let o = self.tab.Offset(88)
416  if o != 0:
417    var x = self.tab.Vector(o)
418    x += j.uoffset * 8.uoffset
419    return Get[uint64](self.tab, x)
420func vectorOfNonOwningReferences*(self: Monster): seq[uint64] =
421  let len = self.vectorOfNonOwningReferencesLength
422  for i in countup(0, len - 1):
423    result.add(self.vectorOfNonOwningReferences(i))
424func anyUniqueType*(self: Monster): MyGame_Example_AnyUniqueAliases.AnyUniqueAliases =
425  let o = self.tab.Offset(90)
426  if o != 0:
427    return MyGame_Example_AnyUniqueAliases.AnyUniqueAliases(Get[uint8](self.tab, self.tab.Pos + o))
428  return type(result)(0)
429func `anyUniqueType=`*(self: var Monster, n: MyGame_Example_AnyUniqueAliases.AnyUniqueAliases): bool =
430  return self.tab.MutateSlot(90, n)
431func anyUnique*(self: Monster): Option[Vtable] =
432  let o = self.tab.Offset(92)
433  if o != 0:
434    return some(self.tab.Union(o))
435func anyAmbiguousType*(self: Monster): MyGame_Example_AnyAmbiguousAliases.AnyAmbiguousAliases =
436  let o = self.tab.Offset(94)
437  if o != 0:
438    return MyGame_Example_AnyAmbiguousAliases.AnyAmbiguousAliases(Get[uint8](self.tab, self.tab.Pos + o))
439  return type(result)(0)
440func `anyAmbiguousType=`*(self: var Monster, n: MyGame_Example_AnyAmbiguousAliases.AnyAmbiguousAliases): bool =
441  return self.tab.MutateSlot(94, n)
442func anyAmbiguous*(self: Monster): Option[Vtable] =
443  let o = self.tab.Offset(96)
444  if o != 0:
445    return some(self.tab.Union(o))
446func vectorOfEnumsLength*(self: Monster): int =
447  let o = self.tab.Offset(98)
448  if o != 0:
449    return self.tab.VectorLen(o)
450func vectorOfEnums*(self: Monster, j: int): MyGame_Example_Color.Color =
451  let o = self.tab.Offset(98)
452  if o != 0:
453    var x = self.tab.Vector(o)
454    x += j.uoffset * 1.uoffset
455    return MyGame_Example_Color.Color(Get[uint8](self.tab, x))
456func vectorOfEnums*(self: Monster): seq[MyGame_Example_Color.Color] =
457  let len = self.vectorOfEnumsLength
458  for i in countup(0, len - 1):
459    result.add(self.vectorOfEnums(i))
460func signedEnum*(self: Monster): MyGame_Example_Race.Race =
461  let o = self.tab.Offset(100)
462  if o != 0:
463    return MyGame_Example_Race.Race(Get[int8](self.tab, self.tab.Pos + o))
464  return type(result)(-1)
465func `signedEnum=`*(self: var Monster, n: MyGame_Example_Race.Race): bool =
466  return self.tab.MutateSlot(100, n)
467func testrequirednestedflatbufferLength*(self: Monster): int =
468  let o = self.tab.Offset(102)
469  if o != 0:
470    return self.tab.VectorLen(o)
471func testrequirednestedflatbuffer*(self: Monster, j: int): uint8 =
472  let o = self.tab.Offset(102)
473  if o != 0:
474    var x = self.tab.Vector(o)
475    x += j.uoffset * 1.uoffset
476    return Get[uint8](self.tab, x)
477func testrequirednestedflatbuffer*(self: Monster): seq[uint8] =
478  let len = self.testrequirednestedflatbufferLength
479  for i in countup(0, len - 1):
480    result.add(self.testrequirednestedflatbuffer(i))
481func scalarKeySortedTablesLength*(self: Monster): int =
482  let o = self.tab.Offset(104)
483  if o != 0:
484    return self.tab.VectorLen(o)
485func scalarKeySortedTables*(self: Monster, j: int): MyGame_Example_Stat.Stat =
486  let o = self.tab.Offset(104)
487  if o != 0:
488    var x = self.tab.Vector(o)
489    x += j.uoffset * 4.uoffset
490    return MyGame_Example_Stat.Stat(tab: Vtable(Bytes: self.tab.Bytes, Pos: x))
491func scalarKeySortedTables*(self: Monster): seq[MyGame_Example_Stat.Stat] =
492  let len = self.scalarKeySortedTablesLength
493  for i in countup(0, len - 1):
494    result.add(self.scalarKeySortedTables(i))
495func nativeInline*(self: Monster): Option[MyGame_Example_Test.Test] =
496  let o = self.tab.Offset(106)
497  if o != 0:
498    return some(MyGame_Example_Test.Test(tab: Vtable(Bytes: self.tab.Bytes, Pos: self.tab.Pos + o)))
499func longEnumNonEnumDefault*(self: Monster): MyGame_Example_LongEnum.LongEnum =
500  let o = self.tab.Offset(108)
501  if o != 0:
502    return MyGame_Example_LongEnum.LongEnum(Get[uint64](self.tab, self.tab.Pos + o))
503  return type(result)(0)
504func `longEnumNonEnumDefault=`*(self: var Monster, n: MyGame_Example_LongEnum.LongEnum): bool =
505  return self.tab.MutateSlot(108, n)
506func longEnumNormalDefault*(self: Monster): MyGame_Example_LongEnum.LongEnum =
507  let o = self.tab.Offset(110)
508  if o != 0:
509    return MyGame_Example_LongEnum.LongEnum(Get[uint64](self.tab, self.tab.Pos + o))
510  return type(result)(2)
511func `longEnumNormalDefault=`*(self: var Monster, n: MyGame_Example_LongEnum.LongEnum): bool =
512  return self.tab.MutateSlot(110, n)
513func nanDefault*(self: Monster): float32 =
514  let o = self.tab.Offset(112)
515  if o != 0:
516    return Get[float32](self.tab, self.tab.Pos + o)
517  return NaN
518func `nanDefault=`*(self: var Monster, n: float32): bool =
519  return self.tab.MutateSlot(112, n)
520func infDefault*(self: Monster): float32 =
521  let o = self.tab.Offset(114)
522  if o != 0:
523    return Get[float32](self.tab, self.tab.Pos + o)
524  return Inf
525func `infDefault=`*(self: var Monster, n: float32): bool =
526  return self.tab.MutateSlot(114, n)
527func positiveInfDefault*(self: Monster): float32 =
528  let o = self.tab.Offset(116)
529  if o != 0:
530    return Get[float32](self.tab, self.tab.Pos + o)
531  return Inf
532func `positiveInfDefault=`*(self: var Monster, n: float32): bool =
533  return self.tab.MutateSlot(116, n)
534func infinityDefault*(self: Monster): float32 =
535  let o = self.tab.Offset(118)
536  if o != 0:
537    return Get[float32](self.tab, self.tab.Pos + o)
538  return Inf
539func `infinityDefault=`*(self: var Monster, n: float32): bool =
540  return self.tab.MutateSlot(118, n)
541func positiveInfinityDefault*(self: Monster): float32 =
542  let o = self.tab.Offset(120)
543  if o != 0:
544    return Get[float32](self.tab, self.tab.Pos + o)
545  return Inf
546func `positiveInfinityDefault=`*(self: var Monster, n: float32): bool =
547  return self.tab.MutateSlot(120, n)
548func negativeInfDefault*(self: Monster): float32 =
549  let o = self.tab.Offset(122)
550  if o != 0:
551    return Get[float32](self.tab, self.tab.Pos + o)
552  return -Inf
553func `negativeInfDefault=`*(self: var Monster, n: float32): bool =
554  return self.tab.MutateSlot(122, n)
555func negativeInfinityDefault*(self: Monster): float32 =
556  let o = self.tab.Offset(124)
557  if o != 0:
558    return Get[float32](self.tab, self.tab.Pos + o)
559  return -Inf
560func `negativeInfinityDefault=`*(self: var Monster, n: float32): bool =
561  return self.tab.MutateSlot(124, n)
562func doubleInfDefault*(self: Monster): float64 =
563  let o = self.tab.Offset(126)
564  if o != 0:
565    return Get[float64](self.tab, self.tab.Pos + o)
566  return Inf
567func `doubleInfDefault=`*(self: var Monster, n: float64): bool =
568  return self.tab.MutateSlot(126, n)
569proc MonsterStart*(builder: var Builder) =
570  builder.StartObject(62)
571proc MonsterAddpos*(builder: var Builder, pos: uoffset) =
572  builder.PrependStructSlot(0, pos, default(uoffset))
573proc MonsterAddmana*(builder: var Builder, mana: int16) =
574  builder.PrependSlot(1, mana, default(int16))
575proc MonsterAddhp*(builder: var Builder, hp: int16) =
576  builder.PrependSlot(2, hp, default(int16))
577proc MonsterAddname*(builder: var Builder, name: uoffset) =
578  builder.PrependSlot(3, name, default(uoffset))
579proc MonsterAddinventory*(builder: var Builder, inventory: uoffset) =
580  builder.PrependSlot(5, inventory, default(uoffset))
581proc MonsterStartinventoryVector*(builder: var Builder, numElems: uoffset) =
582  builder.StartVector(1, numElems, 1)
583proc MonsterAddcolor*(builder: var Builder, color: uint8) =
584  builder.PrependSlot(6, color, default(uint8))
585proc MonsterAddtestType*(builder: var Builder, testType: uint8) =
586  builder.PrependSlot(7, testType, default(uint8))
587proc MonsterAddtest*(builder: var Builder, test: uoffset) =
588  builder.PrependSlot(8, test, default(uoffset))
589proc MonsterAddtest4*(builder: var Builder, test4: uoffset) =
590  builder.PrependSlot(9, test4, default(uoffset))
591proc MonsterStarttest4Vector*(builder: var Builder, numElems: uoffset) =
592  builder.StartVector(4, numElems, 2)
593proc MonsterAddtestarrayofstring*(builder: var Builder, testarrayofstring: uoffset) =
594  builder.PrependSlot(10, testarrayofstring, default(uoffset))
595proc MonsterStarttestarrayofstringVector*(builder: var Builder, numElems: uoffset) =
596  builder.StartVector(4, numElems, 4)
597proc MonsterAddtestarrayoftables*(builder: var Builder, testarrayoftables: uoffset) =
598  builder.PrependSlot(11, testarrayoftables, default(uoffset))
599proc MonsterStarttestarrayoftablesVector*(builder: var Builder, numElems: uoffset) =
600  builder.StartVector(4, numElems, 4)
601proc MonsterAddenemy*(builder: var Builder, enemy: uoffset) =
602  builder.PrependStructSlot(12, enemy, default(uoffset))
603proc MonsterAddtestnestedflatbuffer*(builder: var Builder, testnestedflatbuffer: uoffset) =
604  builder.PrependSlot(13, testnestedflatbuffer, default(uoffset))
605proc MonsterStarttestnestedflatbufferVector*(builder: var Builder, numElems: uoffset) =
606  builder.StartVector(1, numElems, 1)
607proc MonsterAddtestempty*(builder: var Builder, testempty: uoffset) =
608  builder.PrependStructSlot(14, testempty, default(uoffset))
609proc MonsterAddtestbool*(builder: var Builder, testbool: bool) =
610  builder.PrependSlot(15, testbool, default(bool))
611proc MonsterAddtesthashs32Fnv1*(builder: var Builder, testhashs32Fnv1: int32) =
612  builder.PrependSlot(16, testhashs32Fnv1, default(int32))
613proc MonsterAddtesthashu32Fnv1*(builder: var Builder, testhashu32Fnv1: uint32) =
614  builder.PrependSlot(17, testhashu32Fnv1, default(uint32))
615proc MonsterAddtesthashs64Fnv1*(builder: var Builder, testhashs64Fnv1: int64) =
616  builder.PrependSlot(18, testhashs64Fnv1, default(int64))
617proc MonsterAddtesthashu64Fnv1*(builder: var Builder, testhashu64Fnv1: uint64) =
618  builder.PrependSlot(19, testhashu64Fnv1, default(uint64))
619proc MonsterAddtesthashs32Fnv1a*(builder: var Builder, testhashs32Fnv1a: int32) =
620  builder.PrependSlot(20, testhashs32Fnv1a, default(int32))
621proc MonsterAddtesthashu32Fnv1a*(builder: var Builder, testhashu32Fnv1a: uint32) =
622  builder.PrependSlot(21, testhashu32Fnv1a, default(uint32))
623proc MonsterAddtesthashs64Fnv1a*(builder: var Builder, testhashs64Fnv1a: int64) =
624  builder.PrependSlot(22, testhashs64Fnv1a, default(int64))
625proc MonsterAddtesthashu64Fnv1a*(builder: var Builder, testhashu64Fnv1a: uint64) =
626  builder.PrependSlot(23, testhashu64Fnv1a, default(uint64))
627proc MonsterAddtestarrayofbools*(builder: var Builder, testarrayofbools: uoffset) =
628  builder.PrependSlot(24, testarrayofbools, default(uoffset))
629proc MonsterStarttestarrayofboolsVector*(builder: var Builder, numElems: uoffset) =
630  builder.StartVector(1, numElems, 1)
631proc MonsterAddtestf*(builder: var Builder, testf: float32) =
632  builder.PrependSlot(25, testf, default(float32))
633proc MonsterAddtestf2*(builder: var Builder, testf2: float32) =
634  builder.PrependSlot(26, testf2, default(float32))
635proc MonsterAddtestf3*(builder: var Builder, testf3: float32) =
636  builder.PrependSlot(27, testf3, default(float32))
637proc MonsterAddtestarrayofstring2*(builder: var Builder, testarrayofstring2: uoffset) =
638  builder.PrependSlot(28, testarrayofstring2, default(uoffset))
639proc MonsterStarttestarrayofstring2Vector*(builder: var Builder, numElems: uoffset) =
640  builder.StartVector(4, numElems, 4)
641proc MonsterAddtestarrayofsortedstruct*(builder: var Builder, testarrayofsortedstruct: uoffset) =
642  builder.PrependSlot(29, testarrayofsortedstruct, default(uoffset))
643proc MonsterStarttestarrayofsortedstructVector*(builder: var Builder, numElems: uoffset) =
644  builder.StartVector(8, numElems, 4)
645proc MonsterAddflex*(builder: var Builder, flex: uoffset) =
646  builder.PrependSlot(30, flex, default(uoffset))
647proc MonsterStartflexVector*(builder: var Builder, numElems: uoffset) =
648  builder.StartVector(1, numElems, 1)
649proc MonsterAddtest5*(builder: var Builder, test5: uoffset) =
650  builder.PrependSlot(31, test5, default(uoffset))
651proc MonsterStarttest5Vector*(builder: var Builder, numElems: uoffset) =
652  builder.StartVector(4, numElems, 2)
653proc MonsterAddvectorOfLongs*(builder: var Builder, vectorOfLongs: uoffset) =
654  builder.PrependSlot(32, vectorOfLongs, default(uoffset))
655proc MonsterStartvectorOfLongsVector*(builder: var Builder, numElems: uoffset) =
656  builder.StartVector(8, numElems, 8)
657proc MonsterAddvectorOfDoubles*(builder: var Builder, vectorOfDoubles: uoffset) =
658  builder.PrependSlot(33, vectorOfDoubles, default(uoffset))
659proc MonsterStartvectorOfDoublesVector*(builder: var Builder, numElems: uoffset) =
660  builder.StartVector(8, numElems, 8)
661proc MonsterAddparentNamespaceTest*(builder: var Builder, parentNamespaceTest: uoffset) =
662  builder.PrependStructSlot(34, parentNamespaceTest, default(uoffset))
663proc MonsterAddvectorOfReferrables*(builder: var Builder, vectorOfReferrables: uoffset) =
664  builder.PrependSlot(35, vectorOfReferrables, default(uoffset))
665proc MonsterStartvectorOfReferrablesVector*(builder: var Builder, numElems: uoffset) =
666  builder.StartVector(4, numElems, 4)
667proc MonsterAddsingleWeakReference*(builder: var Builder, singleWeakReference: uint64) =
668  builder.PrependSlot(36, singleWeakReference, default(uint64))
669proc MonsterAddvectorOfWeakReferences*(builder: var Builder, vectorOfWeakReferences: uoffset) =
670  builder.PrependSlot(37, vectorOfWeakReferences, default(uoffset))
671proc MonsterStartvectorOfWeakReferencesVector*(builder: var Builder, numElems: uoffset) =
672  builder.StartVector(8, numElems, 8)
673proc MonsterAddvectorOfStrongReferrables*(builder: var Builder, vectorOfStrongReferrables: uoffset) =
674  builder.PrependSlot(38, vectorOfStrongReferrables, default(uoffset))
675proc MonsterStartvectorOfStrongReferrablesVector*(builder: var Builder, numElems: uoffset) =
676  builder.StartVector(4, numElems, 4)
677proc MonsterAddcoOwningReference*(builder: var Builder, coOwningReference: uint64) =
678  builder.PrependSlot(39, coOwningReference, default(uint64))
679proc MonsterAddvectorOfCoOwningReferences*(builder: var Builder, vectorOfCoOwningReferences: uoffset) =
680  builder.PrependSlot(40, vectorOfCoOwningReferences, default(uoffset))
681proc MonsterStartvectorOfCoOwningReferencesVector*(builder: var Builder, numElems: uoffset) =
682  builder.StartVector(8, numElems, 8)
683proc MonsterAddnonOwningReference*(builder: var Builder, nonOwningReference: uint64) =
684  builder.PrependSlot(41, nonOwningReference, default(uint64))
685proc MonsterAddvectorOfNonOwningReferences*(builder: var Builder, vectorOfNonOwningReferences: uoffset) =
686  builder.PrependSlot(42, vectorOfNonOwningReferences, default(uoffset))
687proc MonsterStartvectorOfNonOwningReferencesVector*(builder: var Builder, numElems: uoffset) =
688  builder.StartVector(8, numElems, 8)
689proc MonsterAddanyUniqueType*(builder: var Builder, anyUniqueType: uint8) =
690  builder.PrependSlot(43, anyUniqueType, default(uint8))
691proc MonsterAddanyUnique*(builder: var Builder, anyUnique: uoffset) =
692  builder.PrependSlot(44, anyUnique, default(uoffset))
693proc MonsterAddanyAmbiguousType*(builder: var Builder, anyAmbiguousType: uint8) =
694  builder.PrependSlot(45, anyAmbiguousType, default(uint8))
695proc MonsterAddanyAmbiguous*(builder: var Builder, anyAmbiguous: uoffset) =
696  builder.PrependSlot(46, anyAmbiguous, default(uoffset))
697proc MonsterAddvectorOfEnums*(builder: var Builder, vectorOfEnums: uoffset) =
698  builder.PrependSlot(47, vectorOfEnums, default(uoffset))
699proc MonsterStartvectorOfEnumsVector*(builder: var Builder, numElems: uoffset) =
700  builder.StartVector(1, numElems, 1)
701proc MonsterAddsignedEnum*(builder: var Builder, signedEnum: int8) =
702  builder.PrependSlot(48, signedEnum, default(int8))
703proc MonsterAddtestrequirednestedflatbuffer*(builder: var Builder, testrequirednestedflatbuffer: uoffset) =
704  builder.PrependSlot(49, testrequirednestedflatbuffer, default(uoffset))
705proc MonsterStarttestrequirednestedflatbufferVector*(builder: var Builder, numElems: uoffset) =
706  builder.StartVector(1, numElems, 1)
707proc MonsterAddscalarKeySortedTables*(builder: var Builder, scalarKeySortedTables: uoffset) =
708  builder.PrependSlot(50, scalarKeySortedTables, default(uoffset))
709proc MonsterStartscalarKeySortedTablesVector*(builder: var Builder, numElems: uoffset) =
710  builder.StartVector(4, numElems, 4)
711proc MonsterAddnativeInline*(builder: var Builder, nativeInline: uoffset) =
712  builder.PrependStructSlot(51, nativeInline, default(uoffset))
713proc MonsterAddlongEnumNonEnumDefault*(builder: var Builder, longEnumNonEnumDefault: uint64) =
714  builder.PrependSlot(52, longEnumNonEnumDefault, default(uint64))
715proc MonsterAddlongEnumNormalDefault*(builder: var Builder, longEnumNormalDefault: uint64) =
716  builder.PrependSlot(53, longEnumNormalDefault, default(uint64))
717proc MonsterAddnanDefault*(builder: var Builder, nanDefault: float32) =
718  builder.PrependSlot(54, nanDefault, default(float32))
719proc MonsterAddinfDefault*(builder: var Builder, infDefault: float32) =
720  builder.PrependSlot(55, infDefault, default(float32))
721proc MonsterAddpositiveInfDefault*(builder: var Builder, positiveInfDefault: float32) =
722  builder.PrependSlot(56, positiveInfDefault, default(float32))
723proc MonsterAddinfinityDefault*(builder: var Builder, infinityDefault: float32) =
724  builder.PrependSlot(57, infinityDefault, default(float32))
725proc MonsterAddpositiveInfinityDefault*(builder: var Builder, positiveInfinityDefault: float32) =
726  builder.PrependSlot(58, positiveInfinityDefault, default(float32))
727proc MonsterAddnegativeInfDefault*(builder: var Builder, negativeInfDefault: float32) =
728  builder.PrependSlot(59, negativeInfDefault, default(float32))
729proc MonsterAddnegativeInfinityDefault*(builder: var Builder, negativeInfinityDefault: float32) =
730  builder.PrependSlot(60, negativeInfinityDefault, default(float32))
731proc MonsterAdddoubleInfDefault*(builder: var Builder, doubleInfDefault: float64) =
732  builder.PrependSlot(61, doubleInfDefault, default(float64))
733proc MonsterEnd*(builder: var Builder): uoffset =
734  return builder.EndObject()
735