1# automatically generated by the FlatBuffers compiler, do not modify 2 3# namespace: NestedUnion 4 5import flatbuffers 6from flatbuffers.compat import import_numpy 7from typing import Any 8from flatbuffers.table import Table 9from typing import Optional 10np = import_numpy() 11 12class NestedUnionTest(object): 13 __slots__ = ['_tab'] 14 15 @classmethod 16 def GetRootAs(cls, buf, offset: int = 0): 17 n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) 18 x = NestedUnionTest() 19 x.Init(buf, n + offset) 20 return x 21 22 @classmethod 23 def GetRootAsNestedUnionTest(cls, buf, offset=0): 24 """This method is deprecated. Please switch to GetRootAs.""" 25 return cls.GetRootAs(buf, offset) 26 # NestedUnionTest 27 def Init(self, buf: bytes, pos: int): 28 self._tab = flatbuffers.table.Table(buf, pos) 29 30 # NestedUnionTest 31 def Name(self) -> Optional[str]: 32 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) 33 if o != 0: 34 return self._tab.String(o + self._tab.Pos) 35 return None 36 37 # NestedUnionTest 38 def DataType(self): 39 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) 40 if o != 0: 41 return self._tab.Get(flatbuffers.number_types.Uint8Flags, o + self._tab.Pos) 42 return 0 43 44 # NestedUnionTest 45 def Data(self) -> Optional[flatbuffers.table.Table]: 46 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8)) 47 if o != 0: 48 obj = Table(bytearray(), 0) 49 self._tab.Union(obj, o) 50 return obj 51 return None 52 53 # NestedUnionTest 54 def Id(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.Int16Flags, o + self._tab.Pos) 58 return 0 59 60def NestedUnionTestStart(builder: flatbuffers.Builder): 61 builder.StartObject(4) 62 63def Start(builder: flatbuffers.Builder): 64 NestedUnionTestStart(builder) 65 66def NestedUnionTestAddName(builder: flatbuffers.Builder, name: int): 67 builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(name), 0) 68 69def AddName(builder: flatbuffers.Builder, name: int): 70 NestedUnionTestAddName(builder, name) 71 72def NestedUnionTestAddDataType(builder: flatbuffers.Builder, dataType: int): 73 builder.PrependUint8Slot(1, dataType, 0) 74 75def AddDataType(builder: flatbuffers.Builder, dataType: int): 76 NestedUnionTestAddDataType(builder, dataType) 77 78def NestedUnionTestAddData(builder: flatbuffers.Builder, data: int): 79 builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(data), 0) 80 81def AddData(builder: flatbuffers.Builder, data: int): 82 NestedUnionTestAddData(builder, data) 83 84def NestedUnionTestAddId(builder: flatbuffers.Builder, id: int): 85 builder.PrependInt16Slot(3, id, 0) 86 87def AddId(builder: flatbuffers.Builder, id: int): 88 NestedUnionTestAddId(builder, id) 89 90def NestedUnionTestEnd(builder: flatbuffers.Builder) -> int: 91 return builder.EndObject() 92 93def End(builder: flatbuffers.Builder) -> int: 94 return NestedUnionTestEnd(builder) 95 96import MyGame.Example.NestedUnion.Any 97import MyGame.Example.NestedUnion.TestSimpleTableWithEnum 98import MyGame.Example.NestedUnion.Vec3 99try: 100 from typing import Union 101except: 102 pass 103 104class NestedUnionTestT(object): 105 106 # NestedUnionTestT 107 def __init__(self): 108 self.name = None # type: str 109 self.dataType = 0 # type: int 110 self.data = None # type: Union[None, MyGame.Example.NestedUnion.Vec3.Vec3T, MyGame.Example.NestedUnion.TestSimpleTableWithEnum.TestSimpleTableWithEnumT] 111 self.id = 0 # type: int 112 113 @classmethod 114 def InitFromBuf(cls, buf, pos): 115 nestedUnionTest = NestedUnionTest() 116 nestedUnionTest.Init(buf, pos) 117 return cls.InitFromObj(nestedUnionTest) 118 119 @classmethod 120 def InitFromPackedBuf(cls, buf, pos=0): 121 n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos) 122 return cls.InitFromBuf(buf, pos+n) 123 124 @classmethod 125 def InitFromObj(cls, nestedUnionTest): 126 x = NestedUnionTestT() 127 x._UnPack(nestedUnionTest) 128 return x 129 130 # NestedUnionTestT 131 def _UnPack(self, nestedUnionTest): 132 if nestedUnionTest is None: 133 return 134 self.name = nestedUnionTest.Name() 135 self.dataType = nestedUnionTest.DataType() 136 self.data = MyGame.Example.NestedUnion.Any.AnyCreator(self.dataType, nestedUnionTest.Data()) 137 self.id = nestedUnionTest.Id() 138 139 # NestedUnionTestT 140 def Pack(self, builder): 141 if self.name is not None: 142 name = builder.CreateString(self.name) 143 if self.data is not None: 144 data = self.data.Pack(builder) 145 NestedUnionTestStart(builder) 146 if self.name is not None: 147 NestedUnionTestAddName(builder, name) 148 NestedUnionTestAddDataType(builder, self.dataType) 149 if self.data is not None: 150 NestedUnionTestAddData(builder, data) 151 NestedUnionTestAddId(builder, self.id) 152 nestedUnionTest = NestedUnionTestEnd(builder) 153 return nestedUnionTest 154