1# automatically generated by the FlatBuffers compiler, do not modify 2 3# namespace: MyGame 4 5import flatbuffers 6from flatbuffers.compat import import_numpy 7from typing import Any 8np = import_numpy() 9 10class MonsterExtra(object): 11 __slots__ = ['_tab'] 12 13 @classmethod 14 def GetRootAs(cls, buf, offset: int = 0): 15 n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) 16 x = MonsterExtra() 17 x.Init(buf, n + offset) 18 return x 19 20 @classmethod 21 def GetRootAsMonsterExtra(cls, buf, offset=0): 22 """This method is deprecated. Please switch to GetRootAs.""" 23 return cls.GetRootAs(buf, offset) 24 @classmethod 25 def MonsterExtraBufferHasIdentifier(cls, buf, offset, size_prefixed=False): 26 return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x4D\x4F\x4E\x45", size_prefixed=size_prefixed) 27 28 # MonsterExtra 29 def Init(self, buf: bytes, pos: int): 30 self._tab = flatbuffers.table.Table(buf, pos) 31 32 # MonsterExtra 33 def D0(self): 34 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) 35 if o != 0: 36 return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos) 37 return float('nan') 38 39 # MonsterExtra 40 def D1(self): 41 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) 42 if o != 0: 43 return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos) 44 return float('nan') 45 46 # MonsterExtra 47 def D2(self): 48 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8)) 49 if o != 0: 50 return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos) 51 return float('inf') 52 53 # MonsterExtra 54 def D3(self): 55 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10)) 56 if o != 0: 57 return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos) 58 return float('-inf') 59 60 # MonsterExtra 61 def F0(self): 62 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12)) 63 if o != 0: 64 return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) 65 return float('nan') 66 67 # MonsterExtra 68 def F1(self): 69 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(14)) 70 if o != 0: 71 return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) 72 return float('nan') 73 74 # MonsterExtra 75 def F2(self): 76 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(16)) 77 if o != 0: 78 return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) 79 return float('inf') 80 81 # MonsterExtra 82 def F3(self): 83 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(18)) 84 if o != 0: 85 return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) 86 return float('-inf') 87 88 # MonsterExtra 89 def Dvec(self, j: int): 90 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(20)) 91 if o != 0: 92 a = self._tab.Vector(o) 93 return self._tab.Get(flatbuffers.number_types.Float64Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 8)) 94 return 0 95 96 # MonsterExtra 97 def DvecAsNumpy(self): 98 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(20)) 99 if o != 0: 100 return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Float64Flags, o) 101 return 0 102 103 # MonsterExtra 104 def DvecLength(self) -> int: 105 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(20)) 106 if o != 0: 107 return self._tab.VectorLen(o) 108 return 0 109 110 # MonsterExtra 111 def DvecIsNone(self) -> bool: 112 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(20)) 113 return o == 0 114 115 # MonsterExtra 116 def Fvec(self, j: int): 117 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(22)) 118 if o != 0: 119 a = self._tab.Vector(o) 120 return self._tab.Get(flatbuffers.number_types.Float32Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 4)) 121 return 0 122 123 # MonsterExtra 124 def FvecAsNumpy(self): 125 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(22)) 126 if o != 0: 127 return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Float32Flags, o) 128 return 0 129 130 # MonsterExtra 131 def FvecLength(self) -> int: 132 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(22)) 133 if o != 0: 134 return self._tab.VectorLen(o) 135 return 0 136 137 # MonsterExtra 138 def FvecIsNone(self) -> bool: 139 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(22)) 140 return o == 0 141 142def MonsterExtraStart(builder: flatbuffers.Builder): 143 builder.StartObject(11) 144 145def Start(builder: flatbuffers.Builder): 146 MonsterExtraStart(builder) 147 148def MonsterExtraAddD0(builder: flatbuffers.Builder, d0: float): 149 builder.PrependFloat64Slot(0, d0, float('nan')) 150 151def AddD0(builder: flatbuffers.Builder, d0: float): 152 MonsterExtraAddD0(builder, d0) 153 154def MonsterExtraAddD1(builder: flatbuffers.Builder, d1: float): 155 builder.PrependFloat64Slot(1, d1, float('nan')) 156 157def AddD1(builder: flatbuffers.Builder, d1: float): 158 MonsterExtraAddD1(builder, d1) 159 160def MonsterExtraAddD2(builder: flatbuffers.Builder, d2: float): 161 builder.PrependFloat64Slot(2, d2, float('inf')) 162 163def AddD2(builder: flatbuffers.Builder, d2: float): 164 MonsterExtraAddD2(builder, d2) 165 166def MonsterExtraAddD3(builder: flatbuffers.Builder, d3: float): 167 builder.PrependFloat64Slot(3, d3, float('-inf')) 168 169def AddD3(builder: flatbuffers.Builder, d3: float): 170 MonsterExtraAddD3(builder, d3) 171 172def MonsterExtraAddF0(builder: flatbuffers.Builder, f0: float): 173 builder.PrependFloat32Slot(4, f0, float('nan')) 174 175def AddF0(builder: flatbuffers.Builder, f0: float): 176 MonsterExtraAddF0(builder, f0) 177 178def MonsterExtraAddF1(builder: flatbuffers.Builder, f1: float): 179 builder.PrependFloat32Slot(5, f1, float('nan')) 180 181def AddF1(builder: flatbuffers.Builder, f1: float): 182 MonsterExtraAddF1(builder, f1) 183 184def MonsterExtraAddF2(builder: flatbuffers.Builder, f2: float): 185 builder.PrependFloat32Slot(6, f2, float('inf')) 186 187def AddF2(builder: flatbuffers.Builder, f2: float): 188 MonsterExtraAddF2(builder, f2) 189 190def MonsterExtraAddF3(builder: flatbuffers.Builder, f3: float): 191 builder.PrependFloat32Slot(7, f3, float('-inf')) 192 193def AddF3(builder: flatbuffers.Builder, f3: float): 194 MonsterExtraAddF3(builder, f3) 195 196def MonsterExtraAddDvec(builder: flatbuffers.Builder, dvec: int): 197 builder.PrependUOffsetTRelativeSlot(8, flatbuffers.number_types.UOffsetTFlags.py_type(dvec), 0) 198 199def AddDvec(builder: flatbuffers.Builder, dvec: int): 200 MonsterExtraAddDvec(builder, dvec) 201 202def MonsterExtraStartDvecVector(builder, numElems: int) -> int: 203 return builder.StartVector(8, numElems, 8) 204 205def StartDvecVector(builder, numElems: int) -> int: 206 return MonsterExtraStartDvecVector(builder, numElems) 207 208def MonsterExtraAddFvec(builder: flatbuffers.Builder, fvec: int): 209 builder.PrependUOffsetTRelativeSlot(9, flatbuffers.number_types.UOffsetTFlags.py_type(fvec), 0) 210 211def AddFvec(builder: flatbuffers.Builder, fvec: int): 212 MonsterExtraAddFvec(builder, fvec) 213 214def MonsterExtraStartFvecVector(builder, numElems: int) -> int: 215 return builder.StartVector(4, numElems, 4) 216 217def StartFvecVector(builder, numElems: int) -> int: 218 return MonsterExtraStartFvecVector(builder, numElems) 219 220def MonsterExtraEnd(builder: flatbuffers.Builder) -> int: 221 return builder.EndObject() 222 223def End(builder: flatbuffers.Builder) -> int: 224 return MonsterExtraEnd(builder) 225 226try: 227 from typing import List 228except: 229 pass 230 231class MonsterExtraT(object): 232 233 # MonsterExtraT 234 def __init__(self): 235 self.d0 = float('nan') # type: float 236 self.d1 = float('nan') # type: float 237 self.d2 = float('inf') # type: float 238 self.d3 = float('-inf') # type: float 239 self.f0 = float('nan') # type: float 240 self.f1 = float('nan') # type: float 241 self.f2 = float('inf') # type: float 242 self.f3 = float('-inf') # type: float 243 self.dvec = None # type: List[float] 244 self.fvec = None # type: List[float] 245 246 @classmethod 247 def InitFromBuf(cls, buf, pos): 248 monsterExtra = MonsterExtra() 249 monsterExtra.Init(buf, pos) 250 return cls.InitFromObj(monsterExtra) 251 252 @classmethod 253 def InitFromPackedBuf(cls, buf, pos=0): 254 n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos) 255 return cls.InitFromBuf(buf, pos+n) 256 257 @classmethod 258 def InitFromObj(cls, monsterExtra): 259 x = MonsterExtraT() 260 x._UnPack(monsterExtra) 261 return x 262 263 def __eq__(self, other): 264 return type(self) == type(other) and \ 265 self.d0 == other.d0 and \ 266 self.d1 == other.d1 and \ 267 self.d2 == other.d2 and \ 268 self.d3 == other.d3 and \ 269 self.f0 == other.f0 and \ 270 self.f1 == other.f1 and \ 271 self.f2 == other.f2 and \ 272 self.f3 == other.f3 and \ 273 self.dvec == other.dvec and \ 274 self.fvec == other.fvec 275 276 # MonsterExtraT 277 def _UnPack(self, monsterExtra): 278 if monsterExtra is None: 279 return 280 self.d0 = monsterExtra.D0() 281 self.d1 = monsterExtra.D1() 282 self.d2 = monsterExtra.D2() 283 self.d3 = monsterExtra.D3() 284 self.f0 = monsterExtra.F0() 285 self.f1 = monsterExtra.F1() 286 self.f2 = monsterExtra.F2() 287 self.f3 = monsterExtra.F3() 288 if not monsterExtra.DvecIsNone(): 289 if np is None: 290 self.dvec = [] 291 for i in range(monsterExtra.DvecLength()): 292 self.dvec.append(monsterExtra.Dvec(i)) 293 else: 294 self.dvec = monsterExtra.DvecAsNumpy() 295 if not monsterExtra.FvecIsNone(): 296 if np is None: 297 self.fvec = [] 298 for i in range(monsterExtra.FvecLength()): 299 self.fvec.append(monsterExtra.Fvec(i)) 300 else: 301 self.fvec = monsterExtra.FvecAsNumpy() 302 303 # MonsterExtraT 304 def Pack(self, builder): 305 if self.dvec is not None: 306 if np is not None and type(self.dvec) is np.ndarray: 307 dvec = builder.CreateNumpyVector(self.dvec) 308 else: 309 MonsterExtraStartDvecVector(builder, len(self.dvec)) 310 for i in reversed(range(len(self.dvec))): 311 builder.PrependFloat64(self.dvec[i]) 312 dvec = builder.EndVector() 313 if self.fvec is not None: 314 if np is not None and type(self.fvec) is np.ndarray: 315 fvec = builder.CreateNumpyVector(self.fvec) 316 else: 317 MonsterExtraStartFvecVector(builder, len(self.fvec)) 318 for i in reversed(range(len(self.fvec))): 319 builder.PrependFloat32(self.fvec[i]) 320 fvec = builder.EndVector() 321 MonsterExtraStart(builder) 322 MonsterExtraAddD0(builder, self.d0) 323 MonsterExtraAddD1(builder, self.d1) 324 MonsterExtraAddD2(builder, self.d2) 325 MonsterExtraAddD3(builder, self.d3) 326 MonsterExtraAddF0(builder, self.f0) 327 MonsterExtraAddF1(builder, self.f1) 328 MonsterExtraAddF2(builder, self.f2) 329 MonsterExtraAddF3(builder, self.f3) 330 if self.dvec is not None: 331 MonsterExtraAddDvec(builder, dvec) 332 if self.fvec is not None: 333 MonsterExtraAddFvec(builder, fvec) 334 monsterExtra = MonsterExtraEnd(builder) 335 return monsterExtra 336