summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/Philipp15b/go-steam/tf2/protocol/econ.go
blob: aabb2ea854318dcaacd1cec8baaf73345e3aa175 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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
}