Blame view

cmd/gameserver/gmaction/GmAction.go 1.84 KB
4a502dd5   zhangqijia   fix: game,account...
1
  // GM系统API
97bec184   zhangqijia   fix: 账号系统只有一个数据库。
2
  package gmaction
c47aa250   zhangqijia   feat: 增加GM相关接口。详情...
3
4
  
  import (
c47aa250   zhangqijia   feat: 增加GM相关接口。详情...
5
  	"pro2d/models"
d6d589a9   zhangqijia   feat: 增加装备接口
6
  	"pro2d/pb"
c47aa250   zhangqijia   feat: 增加GM相关接口。详情...
7
8
9
  	"strconv"
  )
  
4a502dd5   zhangqijia   fix: game,account...
10
11
12
13
  type GmAction struct{}
  
  // GMParams GM系统API请求参数的基础类型
  type GMParams map[string]string
c47aa250   zhangqijia   feat: 增加GM相关接口。详情...
14
  
4a502dd5   zhangqijia   fix: game,account...
15
16
17
18
19
20
  /*
  AddExp 增加经验
   exp 增加经验数量
  */
  func (gm *GmAction) AddExp(role *models.RoleModel, params GMParams) {
  	expIncrease, _ := strconv.Atoi(params["exp"])
c2791869   zhangqijia   fix: gm增加删除装备删除物品接口
21
22
  	exp := role.IncrProperty("exp", int64(expIncrease))
  	role.UpdateProperty("exp", exp, true)
c47aa250   zhangqijia   feat: 增加GM相关接口。详情...
23
  }
d6d589a9   zhangqijia   feat: 增加装备接口
24
  
4a502dd5   zhangqijia   fix: game,account...
25
26
27
28
29
  /*
  AddEquip 添加装备
   id: 装备id
  */
  func (gm *GmAction) AddEquip(role *models.RoleModel, params GMParams) {
c2791869   zhangqijia   fix: gm增加删除装备删除物品接口
30
31
  	//TODO 验证装备是否存在
  
d6d589a9   zhangqijia   feat: 增加装备接口
32
  	equip := &pb.Equipment{
c2791869   zhangqijia   fix: gm增加删除装备删除物品接口
33
34
  		Id:      role.IncreEquipByKey(1),
  		RoleId:  role.Role.Id,
4a502dd5   zhangqijia   fix: game,account...
35
  		Type:    params["id"],
c2791869   zhangqijia   fix: gm增加删除装备删除物品接口
36
  		Quality: 1,
d6d589a9   zhangqijia   feat: 增加装备接口
37
  	}
c2791869   zhangqijia   fix: gm增加删除装备删除物品接口
38
39
  	role.AddEquip(equip)
  }
4a502dd5   zhangqijia   fix: game,account...
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
  
  /*
  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: 记录战斗
56
57
  	jewelrylimit: 首饰限制数
  	materiallimit: 材料限制数
4a502dd5   zhangqijia   fix: game,account...
58
59
60
  	otherlimit: 其他限制数
  */
  func (gm *GmAction) UpdatePackLimit(role *models.RoleModel, params GMParams) {
ddc88bac   zhangqijia   fix: 记录战斗
61
  	update := make(map[string]interface{}, 5)
4a502dd5   zhangqijia   fix: game,account...
62
63
  	c, ok := params["clotheslimit"]
  	if ok {
d35f4f81   zhangqijia   fix: 优化proto to i...
64
65
  		l, _ := strconv.Atoi(c)
  		update["clotheslimit"] = uint32(l)
4a502dd5   zhangqijia   fix: game,account...
66
  	}
ddc88bac   zhangqijia   fix: 记录战斗
67
  	w, ok := params["weaponslimit"]
4a502dd5   zhangqijia   fix: game,account...
68
  	if ok {
d35f4f81   zhangqijia   fix: 优化proto to i...
69
70
  		l, _ := strconv.Atoi(w)
  		update["weaponslimit"] = uint32(l)
4a502dd5   zhangqijia   fix: game,account...
71
  	}
ddc88bac   zhangqijia   fix: 记录战斗
72
  	o, ok := params["otherlimit"]
4a502dd5   zhangqijia   fix: game,account...
73
  	if ok {
d35f4f81   zhangqijia   fix: 优化proto to i...
74
75
  		l, _ := strconv.Atoi(o)
  		update["otherlimit"] = uint32(l)
4a502dd5   zhangqijia   fix: game,account...
76
  	}
ddc88bac   zhangqijia   fix: 记录战斗
77
78
79
80
81
82
83
84
85
86
87
88
89
  
  	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...
90
91
  	role.UpdateProperties(update, true)
  }