• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 {
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}
24func (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
33func (rcv *Vec3) UnPack() *Vec3T {
34	if rcv == nil {
35		return nil
36	}
37	t := &Vec3T{}
38	rcv.UnPackTo(t)
39	return t
40}
41
42type Vec3 struct {
43	_tab flatbuffers.Struct
44}
45
46func (rcv *Vec3) Init(buf []byte, i flatbuffers.UOffsetT) {
47	rcv._tab.Bytes = buf
48	rcv._tab.Pos = i
49}
50
51func (rcv *Vec3) Table() flatbuffers.Table {
52	return rcv._tab.Table
53}
54
55func (rcv *Vec3) X() float32 {
56	return rcv._tab.GetFloat32(rcv._tab.Pos + flatbuffers.UOffsetT(0))
57}
58func (rcv *Vec3) MutateX(n float32) bool {
59	return rcv._tab.MutateFloat32(rcv._tab.Pos+flatbuffers.UOffsetT(0), n)
60}
61
62func (rcv *Vec3) Y() float32 {
63	return rcv._tab.GetFloat32(rcv._tab.Pos + flatbuffers.UOffsetT(4))
64}
65func (rcv *Vec3) MutateY(n float32) bool {
66	return rcv._tab.MutateFloat32(rcv._tab.Pos+flatbuffers.UOffsetT(4), n)
67}
68
69func (rcv *Vec3) Z() float32 {
70	return rcv._tab.GetFloat32(rcv._tab.Pos + flatbuffers.UOffsetT(8))
71}
72func (rcv *Vec3) MutateZ(n float32) bool {
73	return rcv._tab.MutateFloat32(rcv._tab.Pos+flatbuffers.UOffsetT(8), n)
74}
75
76func (rcv *Vec3) Test1() float64 {
77	return rcv._tab.GetFloat64(rcv._tab.Pos + flatbuffers.UOffsetT(16))
78}
79func (rcv *Vec3) MutateTest1(n float64) bool {
80	return rcv._tab.MutateFloat64(rcv._tab.Pos+flatbuffers.UOffsetT(16), n)
81}
82
83func (rcv *Vec3) Test2() Color {
84	return Color(rcv._tab.GetByte(rcv._tab.Pos + flatbuffers.UOffsetT(24)))
85}
86func (rcv *Vec3) MutateTest2(n Color) bool {
87	return rcv._tab.MutateByte(rcv._tab.Pos+flatbuffers.UOffsetT(24), byte(n))
88}
89
90func (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
98func 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