...

Text file src/github.com/google/flatbuffers/tests/MyGame/Example/Monster.nim

Documentation: github.com/google/flatbuffers/tests/MyGame/Example

     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: 23.5.26
     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()

View as plain text