package robot import ( "go_dreamfactory/comm" "go_dreamfactory/modules/user" "go_dreamfactory/pb" "log" ) func (r *Robot) handleUserMsg(msg *pb.UserMessage) { switch msg.SubType { case "login": r.handleLogin(msg) case "create": r.handleCreateUser(msg) } } //处理登录响应数据 func (r *Robot) handleLogin(msg *pb.UserMessage) { rsp := &pb.UserLoginResp{} if !comm.ProtoDecode(msg, rsp) { return } printReply(msg, rsp) //是否有登录数据返回 if rsp != nil { r.user = rsp.Data r.onUserLoaded() } else { r.AccountRegister(r.opts.Account, int32(r.opts.ServerId)) //请求Http接口,模拟创建新账号 } } //创角 func (r *Robot) CreateUser(NickName string) { req := &pb.UserCreateReq{ NickName: NickName, } head := &pb.UserMessage{ MainType: string(comm.SM_UserModule), SubType: user.User_SubType_Create, } defer traceFunc(head.MainType, head.SubType, r.user.GetUid(), req) err := r.SendToClient(head, req) if err != nil { log.Fatal(err) } } func (r *Robot) handleCreateUser(msg *pb.UserMessage) { rsp := &pb.UserCreateRsp{} if !comm.ProtoDecode(msg, rsp) { return } printReply(msg, rsp) }