package plugin import ( "github.com/golang/protobuf/proto" "pro2d/common/components" "pro2d/conf" "pro2d/models" "pro2d/pb" "pro2d/utils/logger" ) func HeartRpc(msg components.IMessage) (int32, proto.Message) { //msg.Conn.SetLastHeartCheckTime() return 0, nil } func CreateRpc(msg components.IMessage) (int32, proto.Message) { req := pb.CreateReq{} if err := proto.Unmarshal(msg.GetData(), &req); err != nil { logger.Error("CreateRpc err: %v", err) return 1, nil } role := models.RoleExistByUid(req.Uid) if role != nil { return 2, nil } roleId := conf.SnowFlack.NextValStr() role = models.NewRole(roleId) if err := role.Create(); err != nil { logger.Error("CreateRpc role create err: %v", err) return 3, nil } return 0, nil } func LoginRpc(msg components.IMessage) (int32, proto.Message) { //logger.Debug("cmd: %v, msg: %s", msg.PBHead.Cmd, msg.Body) req := pb.LoginReq{} if err := proto.Unmarshal(msg.GetData(), &req); err != nil { logger.Error("loginRpc err: %v", err) return 1, nil } role := models.RoleExistByUid(req.Uid) if role == nil { return 2, nil } role.SetProperty("Device", req.Device) return 0, &pb.RoleRsp{ Role: role.Role, Hero: role.GetAllHero(), Team: role.Teams.Team, Equips: []*pb.Equipment{role.Equip.Equip}, } }