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