xy 1 vecka sedan
förälder
incheckning
246817c698
1 ändrade filer med 17 tillägg och 9 borttagningar
  1. 17 9
      src/server/hall/internal/handler.go

+ 17 - 9
src/server/hall/internal/handler.go

@@ -24,7 +24,7 @@ func enterHall(args []interface{}) {
 	m := args[0].(*msg.EnterHall)
 	a := args[1].(gate.Agent)
 
-	info, err_info := redismgr.GetUserInfoFromRedis(m.UserId)
+	_, err_info := redismgr.GetUserInfoFromRedis(m.UserId)
 	if err_info != nil {
 		a.WriteMsg(&msg.ResEnterHall{
 			Success: false,
@@ -35,17 +35,25 @@ func enterHall(args []interface{}) {
 		})
 		return
 	}
-
+	ud := a.UserData()
+	room_id := ud.(*msg.UserInfo).RoomId
 	var user_room *msg.RoomInfo = nil
 	//如果玩家在某个游戏里,就进行重连
-	if info.RoomId != 0 {
-		user_room = ludo.GetBattleRoomById(info.RoomId).RoomInfo
+	if room_id != 0 {
+		//暂时就一个ludo游戏
+		wrapper := ludo.GetBattleRoomById(room_id)
+		if wrapper != nil {
+			user_room = wrapper.RoomInfo
+		} else {
+			redismgr.SaveUserInfoToRedis(&msg.UserInfo{
+				UserId: ud.(*msg.UserInfo).UserId,
+				Name:   ud.(*msg.UserInfo).Name,
+				MCoin:  ud.(*msg.UserInfo).MCoin,
+				MHead:  ud.(*msg.UserInfo).MHead,
+				RoomId: ud.(*msg.UserInfo).RoomId,
+			})
+		}
 		//进行重连逻辑
-	} else {
-		// a.WriteMsg(&msg.ResEnterHall{
-		// 	Success: true,
-		// 	ErrMsg:  nil,
-		// })
 	}
 	a.WriteMsg(&msg.ResEnterHall{
 		Success:           true,