• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Code generated by the FlatBuffers compiler. DO NOT EDIT.
2
3package hero
4
5import (
6	flatbuffers "github.com/google/flatbuffers/go"
7)
8
9type WarriorT struct {
10	Name string `json:"name"`
11	Hp uint32 `json:"hp"`
12}
13
14func (t *WarriorT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
15	if t == nil {
16		return 0
17	}
18	nameOffset := flatbuffers.UOffsetT(0)
19	if t.Name != "" {
20		nameOffset = builder.CreateString(t.Name)
21	}
22	WarriorStart(builder)
23	WarriorAddName(builder, nameOffset)
24	WarriorAddHp(builder, t.Hp)
25	return WarriorEnd(builder)
26}
27
28func (rcv *Warrior) UnPackTo(t *WarriorT) {
29	t.Name = string(rcv.Name())
30	t.Hp = rcv.Hp()
31}
32
33func (rcv *Warrior) UnPack() *WarriorT {
34	if rcv == nil {
35		return nil
36	}
37	t := &WarriorT{}
38	rcv.UnPackTo(t)
39	return t
40}
41
42type Warrior struct {
43	_tab flatbuffers.Table
44}
45
46func GetRootAsWarrior(buf []byte, offset flatbuffers.UOffsetT) *Warrior {
47	n := flatbuffers.GetUOffsetT(buf[offset:])
48	x := &Warrior{}
49	x.Init(buf, n+offset)
50	return x
51}
52
53func GetSizePrefixedRootAsWarrior(buf []byte, offset flatbuffers.UOffsetT) *Warrior {
54	n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
55	x := &Warrior{}
56	x.Init(buf, n+offset+flatbuffers.SizeUint32)
57	return x
58}
59
60func (rcv *Warrior) Init(buf []byte, i flatbuffers.UOffsetT) {
61	rcv._tab.Bytes = buf
62	rcv._tab.Pos = i
63}
64
65func (rcv *Warrior) Table() flatbuffers.Table {
66	return rcv._tab
67}
68
69func (rcv *Warrior) Name() []byte {
70	o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
71	if o != 0 {
72		return rcv._tab.ByteVector(o + rcv._tab.Pos)
73	}
74	return nil
75}
76
77func (rcv *Warrior) Hp() uint32 {
78	o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
79	if o != 0 {
80		return rcv._tab.GetUint32(o + rcv._tab.Pos)
81	}
82	return 0
83}
84
85func (rcv *Warrior) MutateHp(n uint32) bool {
86	return rcv._tab.MutateUint32Slot(6, n)
87}
88
89func WarriorStart(builder *flatbuffers.Builder) {
90	builder.StartObject(2)
91}
92func WarriorAddName(builder *flatbuffers.Builder, name flatbuffers.UOffsetT) {
93	builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(name), 0)
94}
95func WarriorAddHp(builder *flatbuffers.Builder, hp uint32) {
96	builder.PrependUint32Slot(1, hp, 0)
97}
98func WarriorEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
99	return builder.EndObject()
100}
101