Add PlayerCode for enhanced score tracking and host validation logic in cooperative mode. Optimize UI for mobile devices with new responsive styles.
All checks were successful
Dynamic Branch Deploy / build-and-deploy (push) Successful in 2m27s
All checks were successful
Dynamic Branch Deploy / build-and-deploy (push) Successful in 2m27s
This commit is contained in:
@@ -148,6 +148,14 @@ func main() {
|
||||
// Spieler hinzufügen (ID, Name)
|
||||
room.AddPlayer(playerID, req.Name)
|
||||
|
||||
// Falls Host, speichere PlayerCode
|
||||
if req.IsHost && req.PlayerCode != "" {
|
||||
room.Mutex.Lock()
|
||||
room.HostPlayerCode = req.PlayerCode
|
||||
room.Mutex.Unlock()
|
||||
log.Printf("🔑 Host PlayerCode gesetzt: %s", req.PlayerCode)
|
||||
}
|
||||
|
||||
// Session speichern
|
||||
playerSessions[playerID] = room
|
||||
log.Printf("➡️ Spieler '%s' ist Raum '%s' beigetreten.", playerID, roomID)
|
||||
@@ -160,7 +168,7 @@ func main() {
|
||||
|
||||
// 4. HANDLER: GAME START (broadcast - alle Pods empfangen, nur der mit dem Raum reagiert)
|
||||
_, _ = ec.Subscribe("game.start", func(req *game.StartRequest) {
|
||||
log.Printf("▶️ START empfangen: RoomID=%s", req.RoomID)
|
||||
log.Printf("▶️ START empfangen: RoomID=%s, PlayerID=%s", req.RoomID, req.PlayerID)
|
||||
|
||||
mu.RLock()
|
||||
room, exists := rooms[req.RoomID]
|
||||
@@ -168,9 +176,17 @@ func main() {
|
||||
|
||||
if exists {
|
||||
room.Mutex.Lock()
|
||||
|
||||
// Prüfe ob der Spieler der Host ist
|
||||
if room.HostID != "" && room.HostID != req.PlayerID {
|
||||
log.Printf("⚠️ Spieler '%s' ist nicht Host von Raum '%s' (Host: %s)", req.PlayerID, req.RoomID, room.HostID)
|
||||
room.Mutex.Unlock()
|
||||
return
|
||||
}
|
||||
|
||||
room.StartCountdown()
|
||||
room.Mutex.Unlock()
|
||||
log.Printf("🎮 Raum '%s' Countdown gestartet", req.RoomID)
|
||||
log.Printf("🎮 Raum '%s' Countdown gestartet von Host '%s'", req.RoomID, req.PlayerID)
|
||||
} else {
|
||||
log.Printf("❌ Raum '%s' nicht gefunden", req.RoomID)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user