| # automatically generated by the FlatBuffers compiler, do not modify |
| |
| # namespace: NestedUnion |
| |
| import flatbuffers |
| from flatbuffers.compat import import_numpy |
| from typing import Any |
| from flatbuffers.table import Table |
| from typing import Optional |
| np = import_numpy() |
| |
| class NestedUnionTest(object): |
| __slots__ = ['_tab'] |
| |
| @classmethod |
| def GetRootAs(cls, buf, offset: int = 0): |
| n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) |
| x = NestedUnionTest() |
| x.Init(buf, n + offset) |
| return x |
| |
| @classmethod |
| def GetRootAsNestedUnionTest(cls, buf, offset=0): |
| """This method is deprecated. Please switch to GetRootAs.""" |
| return cls.GetRootAs(buf, offset) |
| # NestedUnionTest |
| def Init(self, buf: bytes, pos: int): |
| self._tab = flatbuffers.table.Table(buf, pos) |
| |
| # NestedUnionTest |
| def Name(self) -> Optional[str]: |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) |
| if o != 0: |
| return self._tab.String(o + self._tab.Pos) |
| return None |
| |
| # NestedUnionTest |
| def DataType(self): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) |
| if o != 0: |
| return self._tab.Get(flatbuffers.number_types.Uint8Flags, o + self._tab.Pos) |
| return 0 |
| |
| # NestedUnionTest |
| def Data(self) -> Optional[flatbuffers.table.Table]: |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8)) |
| if o != 0: |
| obj = Table(bytearray(), 0) |
| self._tab.Union(obj, o) |
| return obj |
| return None |
| |
| # NestedUnionTest |
| def Id(self): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10)) |
| if o != 0: |
| return self._tab.Get(flatbuffers.number_types.Int16Flags, o + self._tab.Pos) |
| return 0 |
| |
| def NestedUnionTestStart(builder: flatbuffers.Builder): |
| builder.StartObject(4) |
| |
| def Start(builder: flatbuffers.Builder): |
| NestedUnionTestStart(builder) |
| |
| def NestedUnionTestAddName(builder: flatbuffers.Builder, name: int): |
| builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(name), 0) |
| |
| def AddName(builder: flatbuffers.Builder, name: int): |
| NestedUnionTestAddName(builder, name) |
| |
| def NestedUnionTestAddDataType(builder: flatbuffers.Builder, dataType: int): |
| builder.PrependUint8Slot(1, dataType, 0) |
| |
| def AddDataType(builder: flatbuffers.Builder, dataType: int): |
| NestedUnionTestAddDataType(builder, dataType) |
| |
| def NestedUnionTestAddData(builder: flatbuffers.Builder, data: int): |
| builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(data), 0) |
| |
| def AddData(builder: flatbuffers.Builder, data: int): |
| NestedUnionTestAddData(builder, data) |
| |
| def NestedUnionTestAddId(builder: flatbuffers.Builder, id: int): |
| builder.PrependInt16Slot(3, id, 0) |
| |
| def AddId(builder: flatbuffers.Builder, id: int): |
| NestedUnionTestAddId(builder, id) |
| |
| def NestedUnionTestEnd(builder: flatbuffers.Builder) -> int: |
| return builder.EndObject() |
| |
| def End(builder: flatbuffers.Builder) -> int: |
| return NestedUnionTestEnd(builder) |
| |
| import MyGame.Example.NestedUnion.Any |
| import MyGame.Example.NestedUnion.TestSimpleTableWithEnum |
| import MyGame.Example.NestedUnion.Vec3 |
| try: |
| from typing import Union |
| except: |
| pass |
| |
| class NestedUnionTestT(object): |
| |
| # NestedUnionTestT |
| def __init__( |
| self, |
| name = None, |
| dataType = 0, |
| data = None, |
| id = 0, |
| ): |
| self.name = name # type: Optional[str] |
| self.dataType = dataType # type: int |
| self.data = data # type: Union[None, 'MyGame.Example.NestedUnion.Vec3.Vec3T', 'MyGame.Example.NestedUnion.TestSimpleTableWithEnum.TestSimpleTableWithEnumT'] |
| self.id = id # type: int |
| |
| @classmethod |
| def InitFromBuf(cls, buf, pos): |
| nestedUnionTest = NestedUnionTest() |
| nestedUnionTest.Init(buf, pos) |
| return cls.InitFromObj(nestedUnionTest) |
| |
| @classmethod |
| def InitFromPackedBuf(cls, buf, pos=0): |
| n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos) |
| return cls.InitFromBuf(buf, pos+n) |
| |
| @classmethod |
| def InitFromObj(cls, nestedUnionTest): |
| x = NestedUnionTestT() |
| x._UnPack(nestedUnionTest) |
| return x |
| |
| # NestedUnionTestT |
| def _UnPack(self, nestedUnionTest): |
| if nestedUnionTest is None: |
| return |
| self.name = nestedUnionTest.Name() |
| if self.name is not None: |
| self.name = self.name.decode('utf-8') |
| self.dataType = nestedUnionTest.DataType() |
| self.data = MyGame.Example.NestedUnion.Any.AnyCreator(self.dataType, nestedUnionTest.Data()) |
| self.id = nestedUnionTest.Id() |
| |
| # NestedUnionTestT |
| def Pack(self, builder): |
| if self.name is not None: |
| name = builder.CreateString(self.name) |
| if self.data is not None: |
| data = self.data.Pack(builder) |
| NestedUnionTestStart(builder) |
| if self.name is not None: |
| NestedUnionTestAddName(builder, name) |
| NestedUnionTestAddDataType(builder, self.dataType) |
| if self.data is not None: |
| NestedUnionTestAddData(builder, data) |
| NestedUnionTestAddId(builder, self.id) |
| nestedUnionTest = NestedUnionTestEnd(builder) |
| return nestedUnionTest |