Commit 4a502dd5e1b6addff80f1c09e66909f90a18cf8d
1 parent
07aebd7d
fix: game,account,gm的action添加godoc
Showing
18 changed files
with
199 additions
and
82 deletions
Show diff stats
Makefile
@@ -12,7 +12,7 @@ gen: | @@ -12,7 +12,7 @@ gen: | ||
12 | test: | 12 | test: |
13 | go run cmd/test/client.go | 13 | go run cmd/test/client.go |
14 | http: | 14 | http: |
15 | - go run $(race) cmd/httpserver/http.go cmd/httpserver/AccountAction.go | 15 | + go run $(race) cmd/httpserver/main.go |
16 | 16 | ||
17 | game: | 17 | game: |
18 | go run -race cmd/gameserver/*.go | 18 | go run -race cmd/gameserver/*.go |
@@ -27,5 +27,8 @@ plugin: | @@ -27,5 +27,8 @@ plugin: | ||
27 | cd bin && rm -rf ./plugin*.so && cd - | 27 | cd bin && rm -rf ./plugin*.so && cd - |
28 | go build $(race) $(DEBUG) --buildmode=plugin -o bin/$(pname).so cmd/gameserver/plugin/*.go #--ldflags="-pluginpath=$(pname)" | 28 | go build $(race) $(DEBUG) --buildmode=plugin -o bin/$(pname).so cmd/gameserver/plugin/*.go #--ldflags="-pluginpath=$(pname)" |
29 | cd bin && ln -s $(pname).so plugin.so && cd - | 29 | cd bin && ln -s $(pname).so plugin.so && cd - |
30 | +doc: | ||
31 | + godoc -http=:8980 -goroot="." -play | ||
32 | + open localhost:8980/pkg/pro2d/cmd/gameserver/action/#pkg-index | ||
30 | 33 | ||
31 | -.PHONY: all build protos test cert plugin | ||
32 | \ No newline at end of file | 34 | \ No newline at end of file |
35 | +.PHONY: all build protos test cert plugin doc | ||
33 | \ No newline at end of file | 36 | \ No newline at end of file |
cmd/gameserver/action/GmAction.go
1 | +// GM系统API | ||
1 | package action | 2 | package action |
2 | 3 | ||
3 | import ( | 4 | import ( |
4 | - "pro2d/common/logger" | ||
5 | "pro2d/models" | 5 | "pro2d/models" |
6 | "pro2d/pb" | 6 | "pro2d/pb" |
7 | "strconv" | 7 | "strconv" |
8 | ) | 8 | ) |
9 | 9 | ||
10 | -type GmAction struct { | ||
11 | -} | 10 | +type GmAction struct{} |
11 | + | ||
12 | +// GMParams GM系统API请求参数的基础类型 | ||
13 | +type GMParams map[string]string | ||
12 | 14 | ||
13 | -func (gm *GmAction) AddExp(role *models.RoleModel, params ...interface{}) { | ||
14 | - logger.Debug(params) | ||
15 | - expIncrease, _ := strconv.Atoi(params[0].(string)) | 15 | +/* |
16 | +AddExp 增加经验 | ||
17 | + exp 增加经验数量 | ||
18 | +*/ | ||
19 | +func (gm *GmAction) AddExp(role *models.RoleModel, params GMParams) { | ||
20 | + expIncrease, _ := strconv.Atoi(params["exp"]) | ||
16 | exp := role.IncrProperty("exp", int64(expIncrease)) | 21 | exp := role.IncrProperty("exp", int64(expIncrease)) |
17 | role.UpdateProperty("exp", exp, true) | 22 | role.UpdateProperty("exp", exp, true) |
18 | } | 23 | } |
19 | 24 | ||
20 | -func (gm *GmAction) AddEquip(role *models.RoleModel, params ...interface{}) { | ||
21 | - logger.Debug(params) | 25 | +/* |
26 | +AddEquip 添加装备 | ||
27 | + id: 装备id | ||
28 | +*/ | ||
29 | +func (gm *GmAction) AddEquip(role *models.RoleModel, params GMParams) { | ||
22 | //TODO 验证装备是否存在 | 30 | //TODO 验证装备是否存在 |
23 | 31 | ||
24 | equip := &pb.Equipment{ | 32 | equip := &pb.Equipment{ |
25 | Id: role.IncreEquipByKey(1), | 33 | Id: role.IncreEquipByKey(1), |
26 | RoleId: role.Role.Id, | 34 | RoleId: role.Role.Id, |
27 | - Type: params[0].(string), | 35 | + Type: params["id"], |
28 | Quality: 1, | 36 | Quality: 1, |
29 | } | 37 | } |
30 | role.AddEquip(equip) | 38 | role.AddEquip(equip) |
31 | } | 39 | } |
40 | + | ||
41 | +/* | ||
42 | +AddItem 添加物品 | ||
43 | + id: 物品id | ||
44 | + count: 物品数量 | ||
45 | +*/ | ||
46 | +func (gm *GmAction) AddItem(role *models.RoleModel, params GMParams) { | ||
47 | + id := params["id"] | ||
48 | + count, _ := strconv.Atoi(params["count"]) | ||
49 | + role.AddItem(id, int32(count)) | ||
50 | +} | ||
51 | + | ||
52 | +/* | ||
53 | +UpdatePackLimit 更新背包限制 | ||
54 | + clotheslimit: 服饰限制数 | ||
55 | + weaponslimit: 武器限制数 | ||
56 | + otherlimit: 其他限制数 | ||
57 | +*/ | ||
58 | +func (gm *GmAction) UpdatePackLimit(role *models.RoleModel, params GMParams) { | ||
59 | + update := make(map[string]interface{}, 3) | ||
60 | + c, ok := params["clotheslimit"] | ||
61 | + if ok { | ||
62 | + update["clotheslimit"], _ = strconv.Atoi(c) | ||
63 | + } | ||
64 | + w := params["weaponslimit"] | ||
65 | + if ok { | ||
66 | + update["weaponslimit"], _ = strconv.Atoi(w) | ||
67 | + } | ||
68 | + o := params["otherlimit"] | ||
69 | + if ok { | ||
70 | + update["otherlimit"], _ = strconv.Atoi(o) | ||
71 | + } | ||
72 | + role.UpdateProperties(update, true) | ||
73 | +} |
cmd/gameserver/action/RoleAction.go
1 | +// Package action 游戏服角色相关操作 | ||
1 | package action | 2 | package action |
2 | 3 | ||
3 | import ( | 4 | import ( |
@@ -12,11 +13,13 @@ import ( | @@ -12,11 +13,13 @@ import ( | ||
12 | "pro2d/pb" | 13 | "pro2d/pb" |
13 | ) | 14 | ) |
14 | 15 | ||
16 | +// HeartRpc 心跳请求 | ||
15 | func HeartRpc(role *models.RoleModel, msg components.IMessage) (int32, interface{}) { | 17 | func HeartRpc(role *models.RoleModel, msg components.IMessage) (int32, interface{}) { |
16 | //msg.Conn.SetLastHeartCheckTime() | 18 | //msg.Conn.SetLastHeartCheckTime() |
17 | return 0, nil | 19 | return 0, nil |
18 | } | 20 | } |
19 | 21 | ||
22 | +// getRandomName 随机名字 | ||
20 | func getRandomName() string { | 23 | func getRandomName() string { |
21 | name := "" | 24 | name := "" |
22 | for { | 25 | for { |
@@ -36,6 +39,11 @@ func getRandomName() string { | @@ -36,6 +39,11 @@ func getRandomName() string { | ||
36 | return name | 39 | return name |
37 | } | 40 | } |
38 | 41 | ||
42 | +/* | ||
43 | +CreateRpc 创建角色请求 | ||
44 | + 1: proto解析错误 | ||
45 | + 2: 角色不存在 | ||
46 | +*/ | ||
39 | func CreateRpc(role1 *models.RoleModel, msg components.IMessage) (int32, interface{}) { | 47 | func CreateRpc(role1 *models.RoleModel, msg components.IMessage) (int32, interface{}) { |
40 | req := pb.CreateReq{} | 48 | req := pb.CreateReq{} |
41 | if err := proto.Unmarshal(msg.GetData(), &req); err != nil { | 49 | if err := proto.Unmarshal(msg.GetData(), &req); err != nil { |
@@ -63,6 +71,7 @@ func CreateRpc(role1 *models.RoleModel, msg components.IMessage) (int32, interfa | @@ -63,6 +71,7 @@ func CreateRpc(role1 *models.RoleModel, msg components.IMessage) (int32, interfa | ||
63 | return 0, nil | 71 | return 0, nil |
64 | } | 72 | } |
65 | 73 | ||
74 | +// ChangeTeamRpc 阵容变换 | ||
66 | func ChangeTeamRpc(role *models.RoleModel, msg components.IMessage) (int32, interface{}) { | 75 | func ChangeTeamRpc(role *models.RoleModel, msg components.IMessage) (int32, interface{}) { |
67 | req := pb.ChangeTeamReq{} | 76 | req := pb.ChangeTeamReq{} |
68 | if err := proto.Unmarshal(msg.GetData(), &req); err != nil { | 77 | if err := proto.Unmarshal(msg.GetData(), &req); err != nil { |
@@ -74,6 +83,10 @@ func ChangeTeamRpc(role *models.RoleModel, msg components.IMessage) (int32, inte | @@ -74,6 +83,10 @@ func ChangeTeamRpc(role *models.RoleModel, msg components.IMessage) (int32, inte | ||
74 | return 0, nil | 83 | return 0, nil |
75 | } | 84 | } |
76 | 85 | ||
86 | +/* | ||
87 | +HeroEquipReferRpc 穿戴/脱 装备 | ||
88 | + 2: 装备不存在 | ||
89 | +*/ | ||
77 | func HeroEquipReferRpc(role *models.RoleModel, msg components.IMessage) (int32, interface{}) { | 90 | func HeroEquipReferRpc(role *models.RoleModel, msg components.IMessage) (int32, interface{}) { |
78 | req := pb.HeroEquipReferReq{} | 91 | req := pb.HeroEquipReferReq{} |
79 | if err := proto.Unmarshal(msg.GetData(), &req); err != nil { | 92 | if err := proto.Unmarshal(msg.GetData(), &req); err != nil { |
@@ -118,6 +131,10 @@ func HeroEquipReferRpc(role *models.RoleModel, msg components.IMessage) (int32, | @@ -118,6 +131,10 @@ func HeroEquipReferRpc(role *models.RoleModel, msg components.IMessage) (int32, | ||
118 | return 0, nil | 131 | return 0, nil |
119 | } | 132 | } |
120 | 133 | ||
134 | +/* | ||
135 | +RoleClearItemsRpc 删除物品 | ||
136 | + 2 删除失败 | ||
137 | +*/ | ||
121 | func RoleClearItemsRpc(role *models.RoleModel, msg components.IMessage) (int32, interface{}) { | 138 | func RoleClearItemsRpc(role *models.RoleModel, msg components.IMessage) (int32, interface{}) { |
122 | req := pb.RoleClearItemsReq{} | 139 | req := pb.RoleClearItemsReq{} |
123 | if err := proto.Unmarshal(msg.GetData(), &req); err != nil { | 140 | if err := proto.Unmarshal(msg.GetData(), &req); err != nil { |
@@ -132,6 +149,10 @@ func RoleClearItemsRpc(role *models.RoleModel, msg components.IMessage) (int32, | @@ -132,6 +149,10 @@ func RoleClearItemsRpc(role *models.RoleModel, msg components.IMessage) (int32, | ||
132 | return 0, nil | 149 | return 0, nil |
133 | } | 150 | } |
134 | 151 | ||
152 | +/* | ||
153 | +EquipmentDelRpc 删除装备 | ||
154 | + 2 删除失败 | ||
155 | +*/ | ||
135 | func EquipmentDelRpc(role *models.RoleModel, msg components.IMessage) (int32, interface{}) { | 156 | func EquipmentDelRpc(role *models.RoleModel, msg components.IMessage) (int32, interface{}) { |
136 | req := pb.EquipmentDelReq{} | 157 | req := pb.EquipmentDelReq{} |
137 | if err := proto.Unmarshal(msg.GetData(), &req); err != nil { | 158 | if err := proto.Unmarshal(msg.GetData(), &req); err != nil { |
cmd/gameserver/plugin/plugin.go
cmd/gameserver/service/agent.go
@@ -58,6 +58,9 @@ func (c *Agent) OnConnection(conn components.IConnection) { | @@ -58,6 +58,9 @@ func (c *Agent) OnConnection(conn components.IConnection) { | ||
58 | c.IConnection = conn | 58 | c.IConnection = conn |
59 | } | 59 | } |
60 | 60 | ||
61 | +/*OnLoginQuery 登录请求 | ||
62 | +2 角色不存在 | ||
63 | +*/ | ||
61 | func (c *Agent) OnLoginQuery(msg components.IMessage) (int32, proto.Message) { | 64 | func (c *Agent) OnLoginQuery(msg components.IMessage) (int32, proto.Message) { |
62 | //logger.Debug("11111111cmd: %v, msg: %s", msg.GetHeader().GetMsgID(), msg.GetData()) | 65 | //logger.Debug("11111111cmd: %v, msg: %s", msg.GetHeader().GetMsgID(), msg.GetData()) |
63 | req := pb.LoginReq{} | 66 | req := pb.LoginReq{} |
cmd/gameserver/service/gm.go
@@ -5,6 +5,7 @@ import ( | @@ -5,6 +5,7 @@ import ( | ||
5 | "net/http" | 5 | "net/http" |
6 | "pro2d/cmd/gameserver/action" | 6 | "pro2d/cmd/gameserver/action" |
7 | "pro2d/common/components" | 7 | "pro2d/common/components" |
8 | + "pro2d/common/logger" | ||
8 | "pro2d/models" | 9 | "pro2d/models" |
9 | "reflect" | 10 | "reflect" |
10 | ) | 11 | ) |
@@ -25,19 +26,20 @@ func (s *GmServer) HandlerFuncObj(tvl, obj reflect.Value) gin.HandlerFunc { | @@ -25,19 +26,20 @@ func (s *GmServer) HandlerFuncObj(tvl, obj reflect.Value) gin.HandlerFunc { | ||
25 | return func(c *gin.Context) { | 26 | return func(c *gin.Context) { |
26 | var roleId string | 27 | var roleId string |
27 | var ok bool | 28 | var ok bool |
28 | - properties := make([]interface{}, 2) | 29 | + properties := make(map[string]string, 2) |
29 | //请求类型,以及 format 参数 | 30 | //请求类型,以及 format 参数 |
30 | if c.Request.Method == "POST" { | 31 | if c.Request.Method == "POST" { |
31 | c.Request.ParseForm() | 32 | c.Request.ParseForm() |
32 | - for _, v := range c.Request.PostForm { | ||
33 | - properties = append(properties, v[0]) | 33 | + for k, v := range c.Request.PostForm { |
34 | + properties[k] = v[0] | ||
34 | } | 35 | } |
35 | roleId, ok = c.GetPostForm("role_id") | 36 | roleId, ok = c.GetPostForm("role_id") |
36 | 37 | ||
37 | } else if c.Request.Method == "GET" { | 38 | } else if c.Request.Method == "GET" { |
38 | roleId, ok = c.GetQuery("role_id") | 39 | roleId, ok = c.GetQuery("role_id") |
39 | - for _, v := range c.Request.URL.Query() { | ||
40 | - properties = append(properties, v[0]) | 40 | + logger.Debug(c.Request.URL.Query()) |
41 | + for k, v := range c.Request.URL.Query() { | ||
42 | + properties[k] = v[0] | ||
41 | } | 43 | } |
42 | } else { | 44 | } else { |
43 | c.JSON(http.StatusOK, gin.H{"code": -101, "message": "not support method"}) | 45 | c.JSON(http.StatusOK, gin.H{"code": -101, "message": "not support method"}) |
@@ -53,6 +55,7 @@ func (s *GmServer) HandlerFuncObj(tvl, obj reflect.Value) gin.HandlerFunc { | @@ -53,6 +55,7 @@ func (s *GmServer) HandlerFuncObj(tvl, obj reflect.Value) gin.HandlerFunc { | ||
53 | conn := s.Server.GetConnManage().GetConnByRID(roleId) | 55 | conn := s.Server.GetConnManage().GetConnByRID(roleId) |
54 | var role *models.RoleModel | 56 | var role *models.RoleModel |
55 | callback := func() { | 57 | callback := func() { |
58 | + logger.Debug(properties) | ||
56 | tvl.Call([]reflect.Value{obj, reflect.ValueOf(role), reflect.ValueOf(properties)}) | 59 | tvl.Call([]reflect.Value{obj, reflect.ValueOf(role), reflect.ValueOf(properties)}) |
57 | role.SaveRoleData(0) | 60 | role.SaveRoleData(0) |
58 | } | 61 | } |
cmd/httpserver/AccountAction.go renamed to cmd/httpserver/action/AccountAction.go
1 | -package main | 1 | +// Account 账号系统API |
2 | +package action | ||
2 | 3 | ||
3 | import ( | 4 | import ( |
4 | "fmt" | 5 | "fmt" |
5 | "github.com/garyburd/redigo/redis" | 6 | "github.com/garyburd/redigo/redis" |
6 | "github.com/gin-gonic/gin" | 7 | "github.com/gin-gonic/gin" |
8 | + "pro2d/cmd/httpserver/service" | ||
7 | "pro2d/common" | 9 | "pro2d/common" |
8 | "pro2d/common/db/redisproxy" | 10 | "pro2d/common/db/redisproxy" |
9 | "pro2d/common/etcd" | 11 | "pro2d/common/etcd" |
@@ -14,9 +16,16 @@ import ( | @@ -14,9 +16,16 @@ import ( | ||
14 | ) | 16 | ) |
15 | 17 | ||
16 | type AccountAction struct { | 18 | type AccountAction struct { |
17 | - HttpServer *AccountServer | 19 | + HttpServer *service.AccountServer |
18 | } | 20 | } |
19 | 21 | ||
22 | +/*Register 账号注册 | ||
23 | +2 验证码转化为string错误 | ||
24 | +3 验证码错误 | ||
25 | +4 手机号已存在,不用重复注册 | ||
26 | +5 uid get error | ||
27 | +6 mongo create error | ||
28 | +*/ | ||
20 | func (h *AccountAction) Register(c *gin.Context) (int, interface{}) { | 29 | func (h *AccountAction) Register(c *gin.Context) (int, interface{}) { |
21 | var register pb.Register | 30 | var register pb.Register |
22 | if err := c.ShouldBindJSON(®ister); err != nil { | 31 | if err := c.ShouldBindJSON(®ister); err != nil { |
@@ -55,6 +64,10 @@ func (h *AccountAction) Register(c *gin.Context) (int, interface{}) { | @@ -55,6 +64,10 @@ func (h *AccountAction) Register(c *gin.Context) (int, interface{}) { | ||
55 | return 0, "success" | 64 | return 0, "success" |
56 | } | 65 | } |
57 | 66 | ||
67 | +/*Login 登录 | ||
68 | +2 账号不存在 | ||
69 | +3 密码错误 | ||
70 | +*/ | ||
58 | func (h *AccountAction) Login(c *gin.Context) (int, interface{}) { | 71 | func (h *AccountAction) Login(c *gin.Context) (int, interface{}) { |
59 | var login pb.Account | 72 | var login pb.Account |
60 | if err := c.ShouldBindJSON(&login); err != nil { | 73 | if err := c.ShouldBindJSON(&login); err != nil { |
@@ -62,7 +75,7 @@ func (h *AccountAction) Login(c *gin.Context) (int, interface{}) { | @@ -62,7 +75,7 @@ func (h *AccountAction) Login(c *gin.Context) (int, interface{}) { | ||
62 | } | 75 | } |
63 | account := models.NewAccount(login.Phone) | 76 | account := models.NewAccount(login.Phone) |
64 | if err := account.Load(); err != nil { | 77 | if err := account.Load(); err != nil { |
65 | - return 2, err.Error() | 78 | + return 2, "account not exists" |
66 | } | 79 | } |
67 | 80 | ||
68 | if common.Md5V(login.Password) != account.Password { | 81 | if common.Md5V(login.Password) != account.Password { |
@@ -84,6 +97,10 @@ func (h *AccountAction) Login(c *gin.Context) (int, interface{}) { | @@ -84,6 +97,10 @@ func (h *AccountAction) Login(c *gin.Context) (int, interface{}) { | ||
84 | return 0, rsp | 97 | return 0, rsp |
85 | } | 98 | } |
86 | 99 | ||
100 | +/*Sms 发短信 | ||
101 | +2 发送太频繁 | ||
102 | +3 发送失败 | ||
103 | +*/ | ||
87 | func (h *AccountAction) Sms(c *gin.Context) (int, interface{}) { | 104 | func (h *AccountAction) Sms(c *gin.Context) (int, interface{}) { |
88 | phone, ok := c.GetQuery("phone") | 105 | phone, ok := c.GetQuery("phone") |
89 | if !ok { | 106 | if !ok { |
cmd/httpserver/http.go renamed to cmd/httpserver/service/http.go
1 | -package main | 1 | +package service |
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | "fmt" | 4 | "fmt" |
5 | "math/rand" | 5 | "math/rand" |
6 | - "os" | ||
7 | - "os/signal" | ||
8 | "pro2d/common" | 6 | "pro2d/common" |
9 | "pro2d/common/components" | 7 | "pro2d/common/components" |
10 | "pro2d/common/db/mongoproxy" | 8 | "pro2d/common/db/mongoproxy" |
11 | "pro2d/common/db/redisproxy" | 9 | "pro2d/common/db/redisproxy" |
12 | "pro2d/common/etcd" | 10 | "pro2d/common/etcd" |
13 | - "pro2d/common/logger" | ||
14 | "pro2d/models" | 11 | "pro2d/models" |
15 | - "syscall" | ||
16 | "time" | 12 | "time" |
17 | ) | 13 | ) |
18 | 14 | ||
@@ -70,25 +66,3 @@ func (s *AccountServer) Stop() { | @@ -70,25 +66,3 @@ func (s *AccountServer) Stop() { | ||
70 | s.IHttp.Stop() | 66 | s.IHttp.Stop() |
71 | etcd.CloseEtcd() | 67 | etcd.CloseEtcd() |
72 | } | 68 | } |
73 | - | ||
74 | -func main() { | ||
75 | - err := make(chan error) | ||
76 | - stopChan := make(chan os.Signal) | ||
77 | - signal.Notify(stopChan, syscall.SIGTERM, syscall.SIGINT, syscall.SIGKILL) | ||
78 | - | ||
79 | - common.GlobalSconf = common.GlobalConf.AccountConf | ||
80 | - | ||
81 | - web := NewAccountServer("v1", fmt.Sprintf(":%d", common.GlobalSconf.Port)) | ||
82 | - web.BindHandler(&AccountAction{HttpServer: web}) | ||
83 | - go func() { | ||
84 | - err <- web.Start() | ||
85 | - }() | ||
86 | - | ||
87 | - select { | ||
88 | - case e := <-err: | ||
89 | - logger.Error("http server error: %v", e) | ||
90 | - case <-stopChan: | ||
91 | - logger.Debug("http stop") | ||
92 | - web.Stop() | ||
93 | - } | ||
94 | -} |
common/commonFunc.go
@@ -6,6 +6,7 @@ import ( | @@ -6,6 +6,7 @@ import ( | ||
6 | "fmt" | 6 | "fmt" |
7 | "github.com/garyburd/redigo/redis" | 7 | "github.com/garyburd/redigo/redis" |
8 | "pro2d/common/db/redisproxy" | 8 | "pro2d/common/db/redisproxy" |
9 | + "strconv" | ||
9 | "strings" | 10 | "strings" |
10 | ) | 11 | ) |
11 | 12 | ||
@@ -54,7 +55,7 @@ func GetNextUId() (string, error) { | @@ -54,7 +55,7 @@ func GetNextUId() (string, error) { | ||
54 | 55 | ||
55 | type IMapString map[string]interface{} | 56 | type IMapString map[string]interface{} |
56 | 57 | ||
57 | -func MapToString(params map[string]interface{}) string { | 58 | +func MapToString(params IMapString) string { |
58 | var items bytes.Buffer | 59 | var items bytes.Buffer |
59 | for k, v := range params { | 60 | for k, v := range params { |
60 | items.WriteString(k) | 61 | items.WriteString(k) |
@@ -65,14 +66,22 @@ func MapToString(params map[string]interface{}) string { | @@ -65,14 +66,22 @@ func MapToString(params map[string]interface{}) string { | ||
65 | return items.String() | 66 | return items.String() |
66 | } | 67 | } |
67 | 68 | ||
68 | -func StringToMap(items string) map[string]interface{} { | ||
69 | - backPack := make(map[string]interface{}) | 69 | +func StringToMap(items string, num bool) IMapString { |
70 | + backPack := make(map[string]interface{}, 10) | ||
70 | for _, v := range strings.Split(items, " ") { | 71 | for _, v := range strings.Split(items, " ") { |
71 | ii := strings.Split(v, "=") | 72 | ii := strings.Split(v, "=") |
72 | if len(ii) < 2 { | 73 | if len(ii) < 2 { |
73 | continue | 74 | continue |
74 | } | 75 | } |
75 | - backPack[ii[0]] = ii[1] | 76 | + if num { |
77 | + c, err := strconv.Atoi(ii[1]) | ||
78 | + if err != nil { | ||
79 | + continue | ||
80 | + } | ||
81 | + backPack[ii[0]] = uint32(c) | ||
82 | + } else { | ||
83 | + backPack[ii[0]] = ii[1] | ||
84 | + } | ||
76 | } | 85 | } |
77 | return backPack | 86 | return backPack |
78 | } | 87 | } |
common/const.go
@@ -52,11 +52,12 @@ require ( | @@ -52,11 +52,12 @@ require ( | ||
52 | go.uber.org/atomic v1.7.0 // indirect | 52 | go.uber.org/atomic v1.7.0 // indirect |
53 | go.uber.org/multierr v1.6.0 // indirect | 53 | go.uber.org/multierr v1.6.0 // indirect |
54 | go.uber.org/zap v1.17.0 // indirect | 54 | go.uber.org/zap v1.17.0 // indirect |
55 | - golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f // indirect | ||
56 | - golang.org/x/net v0.0.0-20220403103023-749bd193bc2b // indirect | 55 | + golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect |
56 | + golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 // indirect | ||
57 | golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect | 57 | golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect |
58 | - golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e // indirect | 58 | + golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6 // indirect |
59 | golang.org/x/text v0.3.7 // indirect | 59 | golang.org/x/text v0.3.7 // indirect |
60 | + golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect | ||
60 | google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c // indirect | 61 | google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c // indirect |
61 | google.golang.org/grpc v1.38.0 // indirect | 62 | google.golang.org/grpc v1.38.0 // indirect |
62 | gopkg.in/ini.v1 v1.66.4 // indirect | 63 | gopkg.in/ini.v1 v1.66.4 // indirect |
@@ -242,8 +242,9 @@ golang.org/x/crypto v0.0.0-20191219195013-becbf705a915/go.mod h1:LzIPMQfyMNhhGPh | @@ -242,8 +242,9 @@ golang.org/x/crypto v0.0.0-20191219195013-becbf705a915/go.mod h1:LzIPMQfyMNhhGPh | ||
242 | golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | 242 | golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= |
243 | golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | 243 | golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= |
244 | golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | 244 | golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= |
245 | -golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f h1:aZp0e2vLN4MToVqnjNEYEtrEA8RH8U8FN1CU7JgqsPU= | ||
246 | golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= | 245 | golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= |
246 | +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg= | ||
247 | +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= | ||
247 | golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= | 248 | golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= |
248 | golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= | 249 | golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= |
249 | golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= | 250 | golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= |
@@ -268,9 +269,10 @@ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81R | @@ -268,9 +269,10 @@ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81R | ||
268 | golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= | 269 | golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= |
269 | golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= | 270 | golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= |
270 | golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= | 271 | golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= |
272 | +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= | ||
271 | golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= | 273 | golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= |
272 | -golang.org/x/net v0.0.0-20220403103023-749bd193bc2b h1:vI32FkLJNAWtGD4BwkThwEy6XS7ZLLMHkSkYfF8M0W0= | ||
273 | -golang.org/x/net v0.0.0-20220403103023-749bd193bc2b/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= | 274 | +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 h1:HVyaeDAYux4pnY+D/SiwmLOR36ewZ4iGQIIrtnuCjFA= |
275 | +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= | ||
274 | golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= | 276 | golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= |
275 | golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= | 277 | golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= |
276 | golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= | 278 | golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= |
@@ -305,8 +307,9 @@ golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7w | @@ -305,8 +307,9 @@ golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7w | ||
305 | golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | 307 | golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= |
306 | golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | 308 | golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= |
307 | golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | 309 | golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= |
308 | -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM= | ||
309 | golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | 310 | golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= |
311 | +golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6 h1:nonptSpoQ4vQjyraW20DXPAglgQfVnM9ZC6MmNLMR60= | ||
312 | +golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||
310 | golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= | 313 | golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= |
311 | golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= | 314 | golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= |
312 | golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= | 315 | golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= |
@@ -332,8 +335,9 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= | @@ -332,8 +335,9 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= | ||
332 | golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | 335 | golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= |
333 | golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | 336 | golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= |
334 | golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | 337 | golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= |
335 | -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= | ||
336 | golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | 338 | golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= |
339 | +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f h1:GGU+dLjvlC3qDwqYgL6UgRmHXhOOgns0bZu2Ty5mm6U= | ||
340 | +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||
337 | google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= | 341 | google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= |
338 | google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= | 342 | google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= |
339 | google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= | 343 | google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= |
models/hero.go
@@ -16,7 +16,7 @@ func NewHero(hero *pb.Hero) *HeroModel { | @@ -16,7 +16,7 @@ func NewHero(hero *pb.Hero) *HeroModel { | ||
16 | m := &HeroModel{ | 16 | m := &HeroModel{ |
17 | ISchema: NewSchema(hero.Id, hero), | 17 | ISchema: NewSchema(hero.Id, hero), |
18 | Hero: hero, | 18 | Hero: hero, |
19 | - Equipments: common.StringToMap(hero.Equipments), | 19 | + Equipments: common.StringToMap(hero.Equipments, false), |
20 | } | 20 | } |
21 | return m | 21 | return m |
22 | } | 22 | } |
models/role.go
@@ -132,6 +132,9 @@ func (m *RoleModel) InitRole() { | @@ -132,6 +132,9 @@ func (m *RoleModel) InitRole() { | ||
132 | t4.Id = m.IncreTeamByKey(1) | 132 | t4.Id = m.IncreTeamByKey(1) |
133 | m.AddTeam(&t4) | 133 | m.AddTeam(&t4) |
134 | 134 | ||
135 | + //init limit | ||
136 | + m.UpdateProperties(map[string]interface{}{"clotheslimit": 100, "weaponslimit": 100, "otherlimit": 100}, false) | ||
137 | + | ||
135 | m.Update() | 138 | m.Update() |
136 | } | 139 | } |
137 | 140 | ||
@@ -161,7 +164,7 @@ func (m *RoleModel) LoadTeams() { | @@ -161,7 +164,7 @@ func (m *RoleModel) LoadTeams() { | ||
161 | 164 | ||
162 | //加载背包数据到内存 | 165 | //加载背包数据到内存 |
163 | func (m *RoleModel) LoadItems() { | 166 | func (m *RoleModel) LoadItems() { |
164 | - m.Items = common.StringToMap(m.Role.Items) | 167 | + m.Items = common.StringToMap(m.Role.Items, true) |
165 | } | 168 | } |
166 | 169 | ||
167 | func (m *RoleModel) LoadEquipments() { | 170 | func (m *RoleModel) LoadEquipments() { |
models/rolePlugin.go
@@ -12,7 +12,7 @@ import ( | @@ -12,7 +12,7 @@ import ( | ||
12 | func (m *RoleModel) GetItemCount(key string) uint32 { | 12 | func (m *RoleModel) GetItemCount(key string) uint32 { |
13 | c, ok := m.Items[key] | 13 | c, ok := m.Items[key] |
14 | if !ok { | 14 | if !ok { |
15 | - c = 0 | 15 | + c = uint32(0) |
16 | } | 16 | } |
17 | return c.(uint32) | 17 | return c.(uint32) |
18 | } | 18 | } |
pb/game.pb.go
@@ -514,6 +514,7 @@ func (x *RoleUpdateItemsRsp) GetItems() string { | @@ -514,6 +514,7 @@ func (x *RoleUpdateItemsRsp) GetItems() string { | ||
514 | return "" | 514 | return "" |
515 | } | 515 | } |
516 | 516 | ||
517 | +//ResponseCmd RoleClearItemsReq | ||
517 | type RoleClearItemsReq struct { | 518 | type RoleClearItemsReq struct { |
518 | state protoimpl.MessageState | 519 | state protoimpl.MessageState |
519 | sizeCache protoimpl.SizeCache | 520 | sizeCache protoimpl.SizeCache |
@@ -569,6 +570,7 @@ func (x *RoleClearItemsReq) GetCount() int32 { | @@ -569,6 +570,7 @@ func (x *RoleClearItemsReq) GetCount() int32 { | ||
569 | return 0 | 570 | return 0 |
570 | } | 571 | } |
571 | 572 | ||
573 | +//ResponseCmd EquipmentDelReq | ||
572 | type EquipmentDelReq struct { | 574 | type EquipmentDelReq struct { |
573 | state protoimpl.MessageState | 575 | state protoimpl.MessageState |
574 | sizeCache protoimpl.SizeCache | 576 | sizeCache protoimpl.SizeCache |
pb/models.pb.go
@@ -459,19 +459,22 @@ type Role struct { | @@ -459,19 +459,22 @@ type Role struct { | ||
459 | sizeCache protoimpl.SizeCache | 459 | sizeCache protoimpl.SizeCache |
460 | unknownFields protoimpl.UnknownFields | 460 | unknownFields protoimpl.UnknownFields |
461 | 461 | ||
462 | - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" index:"unique" pri:"1"` // @inject_tag: index:"unique" pri:"1" | ||
463 | - Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid,omitempty" index:"unique"` // @inject_tag: index:"unique" | ||
464 | - Device string `protobuf:"bytes,3,opt,name=device,proto3" json:"device,omitempty"` | ||
465 | - Nick string `protobuf:"bytes,4,opt,name=nick,proto3" json:"nick,omitempty"` | ||
466 | - Level int32 `protobuf:"varint,5,opt,name=level,proto3" json:"level,omitempty"` | ||
467 | - Exp int64 `protobuf:"varint,6,opt,name=exp,proto3" json:"exp,omitempty"` | ||
468 | - Hp int64 `protobuf:"varint,7,opt,name=hp,proto3" json:"hp,omitempty"` | ||
469 | - HpMax int64 `protobuf:"varint,8,opt,name=hp_max,json=hpMax,proto3" json:"hp_max,omitempty"` | ||
470 | - BuyR string `protobuf:"bytes,11,opt,name=buy_r,json=buyR,proto3" json:"buy_r,omitempty"` | ||
471 | - PayR string `protobuf:"bytes,12,opt,name=pay_r,json=payR,proto3" json:"pay_r,omitempty"` | ||
472 | - Del bool `protobuf:"varint,13,opt,name=del,proto3" json:"del,omitempty"` | ||
473 | - Incres map[string]uint32 `protobuf:"bytes,14,rep,name=incres,proto3" json:"incres,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` | ||
474 | - Items string `protobuf:"bytes,15,opt,name=items,proto3" json:"items,omitempty"` //物品 "id=count id2=count2" | 462 | + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" index:"unique" pri:"1"` // @inject_tag: index:"unique" pri:"1" |
463 | + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid,omitempty" index:"unique"` // @inject_tag: index:"unique" | ||
464 | + Device string `protobuf:"bytes,3,opt,name=device,proto3" json:"device,omitempty"` | ||
465 | + Nick string `protobuf:"bytes,4,opt,name=nick,proto3" json:"nick,omitempty"` | ||
466 | + Level int32 `protobuf:"varint,5,opt,name=level,proto3" json:"level,omitempty"` | ||
467 | + Exp int64 `protobuf:"varint,6,opt,name=exp,proto3" json:"exp,omitempty"` | ||
468 | + Hp int64 `protobuf:"varint,7,opt,name=hp,proto3" json:"hp,omitempty"` | ||
469 | + HpMax int64 `protobuf:"varint,8,opt,name=hp_max,json=hpMax,proto3" json:"hp_max,omitempty"` | ||
470 | + BuyR string `protobuf:"bytes,11,opt,name=buy_r,json=buyR,proto3" json:"buy_r,omitempty"` | ||
471 | + PayR string `protobuf:"bytes,12,opt,name=pay_r,json=payR,proto3" json:"pay_r,omitempty"` | ||
472 | + Del bool `protobuf:"varint,13,opt,name=del,proto3" json:"del,omitempty"` | ||
473 | + Incres map[string]uint32 `protobuf:"bytes,14,rep,name=incres,proto3" json:"incres,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` | ||
474 | + Items string `protobuf:"bytes,15,opt,name=items,proto3" json:"items,omitempty"` //物品 "id=count id2=count2" | ||
475 | + Clotheslimit uint32 `protobuf:"varint,16,opt,name=clotheslimit,proto3" json:"clotheslimit,omitempty"` | ||
476 | + Weaponslimit uint32 `protobuf:"varint,17,opt,name=weaponslimit,proto3" json:"weaponslimit,omitempty"` | ||
477 | + Otherlimit uint32 `protobuf:"varint,18,opt,name=otherlimit,proto3" json:"otherlimit,omitempty"` | ||
475 | } | 478 | } |
476 | 479 | ||
477 | func (x *Role) Reset() { | 480 | func (x *Role) Reset() { |
@@ -597,6 +600,27 @@ func (x *Role) GetItems() string { | @@ -597,6 +600,27 @@ func (x *Role) GetItems() string { | ||
597 | return "" | 600 | return "" |
598 | } | 601 | } |
599 | 602 | ||
603 | +func (x *Role) GetClotheslimit() uint32 { | ||
604 | + if x != nil { | ||
605 | + return x.Clotheslimit | ||
606 | + } | ||
607 | + return 0 | ||
608 | +} | ||
609 | + | ||
610 | +func (x *Role) GetWeaponslimit() uint32 { | ||
611 | + if x != nil { | ||
612 | + return x.Weaponslimit | ||
613 | + } | ||
614 | + return 0 | ||
615 | +} | ||
616 | + | ||
617 | +func (x *Role) GetOtherlimit() uint32 { | ||
618 | + if x != nil { | ||
619 | + return x.Otherlimit | ||
620 | + } | ||
621 | + return 0 | ||
622 | +} | ||
623 | + | ||
600 | var File_models_proto protoreflect.FileDescriptor | 624 | var File_models_proto protoreflect.FileDescriptor |
601 | 625 | ||
602 | var file_models_proto_rawDesc = []byte{ | 626 | var file_models_proto_rawDesc = []byte{ |
@@ -642,7 +666,7 @@ var file_models_proto_rawDesc = []byte{ | @@ -642,7 +666,7 @@ var file_models_proto_rawDesc = []byte{ | ||
642 | 0x49, 0x64, 0x33, 0x22, 0x2f, 0x0a, 0x09, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, | 666 | 0x49, 0x64, 0x33, 0x22, 0x2f, 0x0a, 0x09, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, |
643 | 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, | 667 | 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, |
644 | 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, | 668 | 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, |
645 | - 0x03, 0x76, 0x61, 0x6c, 0x22, 0xe2, 0x02, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, | 669 | + 0x03, 0x76, 0x61, 0x6c, 0x22, 0xca, 0x03, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, |
646 | 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, | 670 | 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, |
647 | 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, | 671 | 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, |
648 | 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, | 672 | 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, |
@@ -660,12 +684,19 @@ var file_models_proto_rawDesc = []byte{ | @@ -660,12 +684,19 @@ var file_models_proto_rawDesc = []byte{ | ||
660 | 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, | 684 | 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, |
661 | 0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, | 685 | 0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, |
662 | 0x52, 0x06, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, | 686 | 0x52, 0x06, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, |
663 | - 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x39, | ||
664 | - 0x0a, 0x0b, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, | ||
665 | - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, | ||
666 | - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, | ||
667 | - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2e, 0x2f, | ||
668 | - 0x70, 0x62, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, | 687 | + 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x22, |
688 | + 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x74, 0x68, 0x65, 0x73, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x10, | ||
689 | + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6c, 0x6f, 0x74, 0x68, 0x65, 0x73, 0x6c, 0x69, 0x6d, | ||
690 | + 0x69, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x73, 0x6c, 0x69, 0x6d, | ||
691 | + 0x69, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, | ||
692 | + 0x73, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x6c, | ||
693 | + 0x69, 0x6d, 0x69, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6f, 0x74, 0x68, 0x65, | ||
694 | + 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x73, | ||
695 | + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, | ||
696 | + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, | ||
697 | + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, | ||
698 | + 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2e, 0x2f, 0x70, 0x62, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, | ||
699 | + 0x72, 0x6f, 0x74, 0x6f, 0x33, | ||
669 | } | 700 | } |
670 | 701 | ||
671 | var ( | 702 | var ( |