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