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