4a502dd5
zhangqijia
fix: game,account...
|
1
|
// GM系统API
|
97bec184
zhangqijia
fix: 账号系统只有一个数据库。
|
2
|
package gmaction
|
c47aa250
zhangqijia
feat: 增加GM相关接口。详情...
|
3
4
|
import (
|
e172952c
zhangqijia
feat: email 系统搭建
|
5
6
|
"pro2d/common"
"pro2d/common/logger"
|
c47aa250
zhangqijia
feat: 增加GM相关接口。详情...
|
7
|
"pro2d/models"
|
d6d589a9
zhangqijia
feat: 增加装备接口
|
8
|
"pro2d/pb"
|
c47aa250
zhangqijia
feat: 增加GM相关接口。详情...
|
9
10
11
|
"strconv"
)
|
4a502dd5
zhangqijia
fix: game,account...
|
12
13
14
15
|
type GmAction struct{}
// GMParams GM系统API请求参数的基础类型
type GMParams map[string]string
|
c47aa250
zhangqijia
feat: 增加GM相关接口。详情...
|
16
|
|
4a502dd5
zhangqijia
fix: game,account...
|
17
18
19
20
21
22
|
/*
AddExp 增加经验
exp 增加经验数量
*/
func (gm *GmAction) AddExp(role *models.RoleModel, params GMParams) {
expIncrease, _ := strconv.Atoi(params["exp"])
|
c2791869
zhangqijia
fix: gm增加删除装备删除物品接口
|
23
24
|
exp := role.IncrProperty("exp", int64(expIncrease))
role.UpdateProperty("exp", exp, true)
|
c47aa250
zhangqijia
feat: 增加GM相关接口。详情...
|
25
|
}
|
d6d589a9
zhangqijia
feat: 增加装备接口
|
26
|
|
4a502dd5
zhangqijia
fix: game,account...
|
27
28
29
30
31
|
/*
AddEquip 添加装备
id: 装备id
*/
func (gm *GmAction) AddEquip(role *models.RoleModel, params GMParams) {
|
c2791869
zhangqijia
fix: gm增加删除装备删除物品接口
|
32
|
//TODO 验证装备是否存在
|
02d11cb7
zhangqijia
fix: update 装备脱/戴
|
33
34
|
id := params["id"]
tbId, _ := strconv.Atoi(id)
|
c2791869
zhangqijia
fix: gm增加删除装备删除物品接口
|
35
|
|
d6d589a9
zhangqijia
feat: 增加装备接口
|
36
|
equip := &pb.Equipment{
|
c2791869
zhangqijia
fix: gm增加删除装备删除物品接口
|
37
|
Id: role.IncreEquipByKey(1),
|
23822e2f
zhangqijia
fix: update proto...
|
38
|
RoleId: role.Data.Id,
|
02d11cb7
zhangqijia
fix: update 装备脱/戴
|
39
|
TbId: int32(tbId),
|
c2791869
zhangqijia
fix: gm增加删除装备删除物品接口
|
40
|
Quality: 1,
|
d6d589a9
zhangqijia
feat: 增加装备接口
|
41
|
}
|
c2791869
zhangqijia
fix: gm增加删除装备删除物品接口
|
42
43
|
role.AddEquip(equip)
}
|
4a502dd5
zhangqijia
fix: game,account...
|
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
/*
AddItem 添加物品
id: 物品id
count: 物品数量
*/
func (gm *GmAction) AddItem(role *models.RoleModel, params GMParams) {
id := params["id"]
count, _ := strconv.Atoi(params["count"])
role.AddItem(id, int32(count))
}
/*
UpdatePackLimit 更新背包限制
clotheslimit: 服饰限制数
weaponslimit: 武器限制数
|
ddc88bac
zhangqijia
fix: 记录战斗
|
60
61
|
jewelrylimit: 首饰限制数
materiallimit: 材料限制数
|
4a502dd5
zhangqijia
fix: game,account...
|
62
63
64
|
otherlimit: 其他限制数
*/
func (gm *GmAction) UpdatePackLimit(role *models.RoleModel, params GMParams) {
|
ddc88bac
zhangqijia
fix: 记录战斗
|
65
|
update := make(map[string]interface{}, 5)
|
4a502dd5
zhangqijia
fix: game,account...
|
66
67
|
c, ok := params["clotheslimit"]
if ok {
|
d35f4f81
zhangqijia
fix: 优化proto to i...
|
68
69
|
l, _ := strconv.Atoi(c)
update["clotheslimit"] = uint32(l)
|
4a502dd5
zhangqijia
fix: game,account...
|
70
|
}
|
ddc88bac
zhangqijia
fix: 记录战斗
|
71
|
w, ok := params["weaponslimit"]
|
4a502dd5
zhangqijia
fix: game,account...
|
72
|
if ok {
|
d35f4f81
zhangqijia
fix: 优化proto to i...
|
73
74
|
l, _ := strconv.Atoi(w)
update["weaponslimit"] = uint32(l)
|
4a502dd5
zhangqijia
fix: game,account...
|
75
|
}
|
ddc88bac
zhangqijia
fix: 记录战斗
|
76
|
o, ok := params["otherlimit"]
|
4a502dd5
zhangqijia
fix: game,account...
|
77
|
if ok {
|
d35f4f81
zhangqijia
fix: 优化proto to i...
|
78
79
|
l, _ := strconv.Atoi(o)
update["otherlimit"] = uint32(l)
|
4a502dd5
zhangqijia
fix: game,account...
|
80
|
}
|
ddc88bac
zhangqijia
fix: 记录战斗
|
81
82
83
84
85
86
87
88
89
90
91
92
93
|
o, ok = params["jewelrylimit"]
if ok {
l, _ := strconv.Atoi(o)
update["jewelrylimit"] = uint32(l)
}
o, ok = params["materiallimit"]
if ok {
l, _ := strconv.Atoi(o)
update["materiallimit"] = uint32(l)
}
|
4a502dd5
zhangqijia
fix: game,account...
|
94
95
|
role.UpdateProperties(update, true)
}
|
e172952c
zhangqijia
feat: email 系统搭建
|
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
/*GMEmail 发送邮件
参数 &title= &stitle= &content= &attachments=
*/
func (gm *GmAction) GMEmail(role *models.RoleModel, params GMParams) {
title, ok := params["title"]
if !ok {
title = ""
}
stitle, ok := params["stitle"]
if !ok {
stitle = ""
}
content, ok := params["content"]
if !ok {
content = ""
}
attachments, ok := params["attachments"]
if !ok {
attachments = ""
}
id, err := common.GetNextEmail()
if err != nil {
logger.Error(err)
return
}
email := &pb.Email{
Id: id,
RoleId: role.Data.Id,
Title: title,
Stitle: stitle,
Content: content,
Attachments: attachments,
Status: 0,
CreateTime: common.Timex(),
}
m := models.NewEmailModelPB(email)
err = m.Create()
if err != nil {
logger.Error(err)
}
}
|