...
1
2
3 package Example
4
5 import (
6 flatbuffers "github.com/google/flatbuffers/go"
7 )
8
9 type Vec3T struct {
10 X float32 `json:"x"`
11 Y float32 `json:"y"`
12 Z float32 `json:"z"`
13 Test1 float64 `json:"test1"`
14 Test2 Color `json:"test2"`
15 Test3 *TestT `json:"test3"`
16 }
17
18 func (t *Vec3T) Pack(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
19 if t == nil {
20 return 0
21 }
22 return CreateVec3(builder, t.X, t.Y, t.Z, t.Test1, t.Test2, t.Test3.A, t.Test3.B)
23 }
24 func (rcv *Vec3) UnPackTo(t *Vec3T) {
25 t.X = rcv.X()
26 t.Y = rcv.Y()
27 t.Z = rcv.Z()
28 t.Test1 = rcv.Test1()
29 t.Test2 = rcv.Test2()
30 t.Test3 = rcv.Test3(nil).UnPack()
31 }
32
33 func (rcv *Vec3) UnPack() *Vec3T {
34 if rcv == nil {
35 return nil
36 }
37 t := &Vec3T{}
38 rcv.UnPackTo(t)
39 return t
40 }
41
42 type Vec3 struct {
43 _tab flatbuffers.Struct
44 }
45
46 func (rcv *Vec3) Init(buf []byte, i flatbuffers.UOffsetT) {
47 rcv._tab.Bytes = buf
48 rcv._tab.Pos = i
49 }
50
51 func (rcv *Vec3) Table() flatbuffers.Table {
52 return rcv._tab.Table
53 }
54
55 func (rcv *Vec3) X() float32 {
56 return rcv._tab.GetFloat32(rcv._tab.Pos + flatbuffers.UOffsetT(0))
57 }
58 func (rcv *Vec3) MutateX(n float32) bool {
59 return rcv._tab.MutateFloat32(rcv._tab.Pos+flatbuffers.UOffsetT(0), n)
60 }
61
62 func (rcv *Vec3) Y() float32 {
63 return rcv._tab.GetFloat32(rcv._tab.Pos + flatbuffers.UOffsetT(4))
64 }
65 func (rcv *Vec3) MutateY(n float32) bool {
66 return rcv._tab.MutateFloat32(rcv._tab.Pos+flatbuffers.UOffsetT(4), n)
67 }
68
69 func (rcv *Vec3) Z() float32 {
70 return rcv._tab.GetFloat32(rcv._tab.Pos + flatbuffers.UOffsetT(8))
71 }
72 func (rcv *Vec3) MutateZ(n float32) bool {
73 return rcv._tab.MutateFloat32(rcv._tab.Pos+flatbuffers.UOffsetT(8), n)
74 }
75
76 func (rcv *Vec3) Test1() float64 {
77 return rcv._tab.GetFloat64(rcv._tab.Pos + flatbuffers.UOffsetT(16))
78 }
79 func (rcv *Vec3) MutateTest1(n float64) bool {
80 return rcv._tab.MutateFloat64(rcv._tab.Pos+flatbuffers.UOffsetT(16), n)
81 }
82
83 func (rcv *Vec3) Test2() Color {
84 return Color(rcv._tab.GetByte(rcv._tab.Pos + flatbuffers.UOffsetT(24)))
85 }
86 func (rcv *Vec3) MutateTest2(n Color) bool {
87 return rcv._tab.MutateByte(rcv._tab.Pos+flatbuffers.UOffsetT(24), byte(n))
88 }
89
90 func (rcv *Vec3) Test3(obj *Test) *Test {
91 if obj == nil {
92 obj = new(Test)
93 }
94 obj.Init(rcv._tab.Bytes, rcv._tab.Pos+26)
95 return obj
96 }
97
98 func CreateVec3(builder *flatbuffers.Builder, x float32, y float32, z float32, test1 float64, test2 Color, test3_a int16, test3_b int8) flatbuffers.UOffsetT {
99 builder.Prep(8, 32)
100 builder.Pad(2)
101 builder.Prep(2, 4)
102 builder.Pad(1)
103 builder.PrependInt8(test3_b)
104 builder.PrependInt16(test3_a)
105 builder.Pad(1)
106 builder.PrependByte(byte(test2))
107 builder.PrependFloat64(test1)
108 builder.Pad(4)
109 builder.PrependFloat32(z)
110 builder.PrependFloat32(y)
111 builder.PrependFloat32(x)
112 return builder.Offset()
113 }
114
View as plain text