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
View as plain text