Blame view

cmd/gameserver/action/RoleAction.go 1.18 KB
69d286a7   zhangqijia   fix: 插件用来做部分热更
1
  package action
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
2
3
4
  
  import (
  	"github.com/golang/protobuf/proto"
765431a4   zhangqijia   增加schema接口, 抽象 mo...
5
  	"pro2d/common"
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
6
  	"pro2d/common/components"
765431a4   zhangqijia   增加schema接口, 抽象 mo...
7
  	"pro2d/common/logger"
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
8
  	"pro2d/models"
7f269318   zhangqijia   add pb.go; 添加关闭连接...
9
  	"pro2d/pb"
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
10
11
  )
  
69d286a7   zhangqijia   fix: 插件用来做部分热更
12
  func HeartRpc(msg components.IMessage) (int32, interface{}) {
0cc58315   zhangqijia   添加定时器, 检查心跳
13
  	//msg.Conn.SetLastHeartCheckTime()
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
14
15
16
  	return 0, nil
  }
  
69d286a7   zhangqijia   fix: 插件用来做部分热更
17
  func CreateRpc(msg components.IMessage) (int32, interface{}) {
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
18
  	req := pb.CreateReq{}
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
19
  	if err := proto.Unmarshal(msg.GetData(), &req); err != nil {
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
20
  		logger.Error("CreateRpc err: %v", err)
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
21
22
23
24
25
26
27
  		return 1, nil
  	}
  	role := models.RoleExistByUid(req.Uid)
  	if role != nil {
  		return 2, nil
  	}
  
765431a4   zhangqijia   增加schema接口, 抽象 mo...
28
  	roleId := common.SnowFlack.NextValStr()
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
29
  	role = models.NewRole(roleId)
69d286a7   zhangqijia   fix: 插件用来做部分热更
30
  	if err := role.Create(); err != nil {
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
31
  		logger.Error("CreateRpc role create err: %v", err)
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
32
33
  		return 3, nil
  	}
8d983031   zhangqijia   loginReq uid -> t...
34
  	role.InitRole()
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
35
36
37
  	return 0, nil
  }
  
69d286a7   zhangqijia   fix: 插件用来做部分热更
38
  func LoginRpc(msg components.IMessage) (int32, interface{}) {
77f5eec7   zhangqijia   plugin 插件热更 接口
39
  	//logger.Debug("11111111cmd: %v, msg: %s", msg.GetHeader().GetMsgID(), msg.GetData())
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
40
  	req := pb.LoginReq{}
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
41
  	if err := proto.Unmarshal(msg.GetData(), &req); err != nil {
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
42
  		logger.Error("loginRpc err: %v", err)
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
43
44
45
  		return 1, nil
  	}
  
436e0af4   zhangqijia   reactor: dir; Ac...
46
  	role := models.RoleExistByUid(req.Token)
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
47
48
49
  	if role == nil {
  		return 2, nil
  	}
7f269318   zhangqijia   add pb.go; 添加关闭连接...
50
51
  	role.SetProperty("Device", req.Device)
  
8d983031   zhangqijia   loginReq uid -> t...
52
  	return 0, role
69d286a7   zhangqijia   fix: 插件用来做部分热更
53
  }