forked from jshiffer/matterbridge
52 lines
977 B
Go
52 lines
977 B
Go
package protocol
|
|
|
|
import (
|
|
"encoding/binary"
|
|
"io"
|
|
)
|
|
|
|
type MsgGCSetItemPosition struct {
|
|
AssetId, Position uint64
|
|
}
|
|
|
|
func (m *MsgGCSetItemPosition) Serialize(w io.Writer) error {
|
|
return binary.Write(w, binary.LittleEndian, m)
|
|
}
|
|
|
|
type MsgGCCraft struct {
|
|
Recipe int16 // -2 = wildcard
|
|
numItems int16
|
|
Items []uint64
|
|
}
|
|
|
|
func (m *MsgGCCraft) Serialize(w io.Writer) error {
|
|
m.numItems = int16(len(m.Items))
|
|
return binary.Write(w, binary.LittleEndian, m)
|
|
}
|
|
|
|
type MsgGCDeleteItem struct {
|
|
ItemId uint64
|
|
}
|
|
|
|
func (m *MsgGCDeleteItem) Serialize(w io.Writer) error {
|
|
return binary.Write(w, binary.LittleEndian, m.ItemId)
|
|
}
|
|
|
|
type MsgGCNameItem struct {
|
|
Tool, Target uint64
|
|
Name string
|
|
}
|
|
|
|
func (m *MsgGCNameItem) Serialize(w io.Writer) error {
|
|
err := binary.Write(w, binary.LittleEndian, m.Tool)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
err = binary.Write(w, binary.LittleEndian, m.Target)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
_, err = w.Write([]byte(m.Name))
|
|
return err
|
|
}
|