69d286a7
zhangqijia
fix: 插件用来做部分热更
|
1
|
package action
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
2
3
|
import (
|
29a163be
zhangqijia
fix: CreateReq ui...
|
4
|
"fmt"
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
5
|
"github.com/golang/protobuf/proto"
|
765431a4
zhangqijia
增加schema接口, 抽象 mo...
|
6
|
"pro2d/common"
|
0e5d52de
zhangqijia
reactor: 重构底层框架1.0
|
7
|
"pro2d/common/components"
|
29a163be
zhangqijia
fix: CreateReq ui...
|
8
|
"pro2d/common/db/redisproxy"
|
765431a4
zhangqijia
增加schema接口, 抽象 mo...
|
9
|
"pro2d/common/logger"
|
0e5d52de
zhangqijia
reactor: 重构底层框架1.0
|
10
|
"pro2d/models"
|
7f269318
zhangqijia
add pb.go; 添加关闭连接...
|
11
|
"pro2d/pb"
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
12
13
|
)
|
eadc9aff
zhangqijia
feat: 增加上阵下阵协议,增加...
|
14
|
func HeartRpc(agent components.IAgent, msg components.IMessage) (int32, interface{}) {
|
0cc58315
zhangqijia
添加定时器, 检查心跳
|
15
|
//msg.Conn.SetLastHeartCheckTime()
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
16
17
18
|
return 0, nil
}
|
29a163be
zhangqijia
fix: CreateReq ui...
|
19
20
|
func getRandomName() string {
name := ""
|
eadc9aff
zhangqijia
feat: 增加上阵下阵协议,增加...
|
21
|
for {
|
29a163be
zhangqijia
fix: CreateReq ui...
|
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
name = common.RandomName(common.DefaultName)
if name == "" {
continue
}
relay, err := redisproxy.SETNX(fmt.Sprintf(common.NickNames, name), "1")
if err != nil {
continue
}
if relay.(int64) == 1 {
break
}
}
return name
}
|
eadc9aff
zhangqijia
feat: 增加上阵下阵协议,增加...
|
38
|
func CreateRpc(agent components.IAgent, msg components.IMessage) (int32, interface{}) {
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
39
|
req := pb.CreateReq{}
|
0e5d52de
zhangqijia
reactor: 重构底层框架1.0
|
40
|
if err := proto.Unmarshal(msg.GetData(), &req); err != nil {
|
cad2b7f3
zhangqijia
reactor: 重构目录, 重构...
|
41
|
logger.Error("CreateRpc err: %v", err)
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
42
43
|
return 1, nil
}
|
29a163be
zhangqijia
fix: CreateReq ui...
|
44
|
role := models.RoleExistByUid(req.Token)
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
45
46
47
48
|
if role != nil {
return 2, nil
}
|
765431a4
zhangqijia
增加schema接口, 抽象 mo...
|
49
|
roleId := common.SnowFlack.NextValStr()
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
50
|
role = models.NewRole(roleId)
|
29a163be
zhangqijia
fix: CreateReq ui...
|
51
|
role.Role.Nick = getRandomName()
|
69d286a7
zhangqijia
fix: 插件用来做部分热更
|
52
|
if err := role.Create(); err != nil {
|
cad2b7f3
zhangqijia
reactor: 重构目录, 重构...
|
53
|
logger.Error("CreateRpc role create err: %v", err)
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
54
55
|
return 3, nil
}
|
8d983031
zhangqijia
loginReq uid -> t...
|
56
|
role.InitRole()
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
57
58
59
|
return 0, nil
}
|
eadc9aff
zhangqijia
feat: 增加上阵下阵协议,增加...
|
60
|
func LoginRpc(agent components.IAgent, msg components.IMessage) (int32, interface{}) {
|
77f5eec7
zhangqijia
plugin 插件热更 接口
|
61
|
//logger.Debug("11111111cmd: %v, msg: %s", msg.GetHeader().GetMsgID(), msg.GetData())
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
62
|
req := pb.LoginReq{}
|
0e5d52de
zhangqijia
reactor: 重构底层框架1.0
|
63
|
if err := proto.Unmarshal(msg.GetData(), &req); err != nil {
|
cad2b7f3
zhangqijia
reactor: 重构目录, 重构...
|
64
|
logger.Error("loginRpc err: %v", err)
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
65
66
67
|
return 1, nil
}
|
436e0af4
zhangqijia
reactor: dir; Ac...
|
68
|
role := models.RoleExistByUid(req.Token)
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
69
70
71
|
if role == nil {
return 2, nil
}
|
7f269318
zhangqijia
add pb.go; 添加关闭连接...
|
72
|
role.SetProperty("Device", req.Device)
|
eadc9aff
zhangqijia
feat: 增加上阵下阵协议,增加...
|
73
74
75
76
77
78
79
80
81
|
protoMsg := &pb.RoleRsp{
Role: role.Role,
Hero: role.GetAllHero(),
Team: role.GetAllTeam(),
}
//登录成功,存储agent role
agent.SetSchema(role)
return 0, protoMsg
}
|
7f269318
zhangqijia
add pb.go; 添加关闭连接...
|
82
|
|
eadc9aff
zhangqijia
feat: 增加上阵下阵协议,增加...
|
83
84
85
86
87
88
89
90
91
92
93
94
95
|
func GoIntoBattleRpc(agent components.IAgent, msg components.IMessage) (int32, interface{}) {
req := pb.GoIntoBattleReq{}
if err := proto.Unmarshal(msg.GetData(), &req); err != nil {
logger.Error("loginRpc err: %v", err)
return 1, nil
}
role := agent.GetSchema().(*models.RoleModel)
if role == nil {
return 2, nil
}
role.UpdateTeam(req.Team)
return 0, nil
|
69d286a7
zhangqijia
fix: 插件用来做部分热更
|
96
|
}
|