update
This commit is contained in:
@@ -30,6 +30,8 @@ var owner_id := 0
|
||||
var is_owner := false
|
||||
var room_code := ""
|
||||
var in_game := false
|
||||
## Wunsch für eine neue Solopartie; das frisch geladene Menü löst ihn ein.
|
||||
var rematch: Dictionary = {}
|
||||
|
||||
# ── Server ───────────────────────────────────────────────────────────────────
|
||||
var dedicated := false
|
||||
@@ -228,7 +230,7 @@ func _push_lobby(code: String, data: Dictionary, besitzer: int) -> void:
|
||||
# ── Start ────────────────────────────────────────────────────────────────────
|
||||
|
||||
## Einzelspieler: kein Netzwerk, nur der lokale Spieler und Bots.
|
||||
func start_singleplayer(pname: String, ai_count: int) -> void:
|
||||
func start_singleplayer(pname: String, ai_count: int, stufe := 1) -> void:
|
||||
player_name = pname
|
||||
multiplayer.multiplayer_peer = OfflineMultiplayerPeer.new()
|
||||
room_code = SOLO
|
||||
@@ -237,16 +239,17 @@ func start_singleplayer(pname: String, ai_count: int) -> void:
|
||||
is_owner = true
|
||||
in_game = true
|
||||
lobby_changed.emit()
|
||||
game_started.emit(SOLO, {"peers": [1], "names": lobby.duplicate(), "ai": ai_count})
|
||||
game_started.emit(SOLO, {"peers": [1], "names": lobby.duplicate(), "ai": ai_count,
|
||||
"stufe": stufe})
|
||||
|
||||
|
||||
## Der Host bittet den Server um den Start.
|
||||
func request_start(ai_count: int) -> void:
|
||||
_req_start.rpc_id(1, ai_count)
|
||||
func request_start(ai_count: int, stufe := 1) -> void:
|
||||
_req_start.rpc_id(1, ai_count, stufe)
|
||||
|
||||
|
||||
@rpc("any_peer", "reliable")
|
||||
func _req_start(ai_count: int) -> void:
|
||||
func _req_start(ai_count: int, stufe: int) -> void:
|
||||
if not multiplayer.is_server():
|
||||
return
|
||||
var id := multiplayer.get_remote_sender_id()
|
||||
@@ -259,7 +262,8 @@ func _req_start(ai_count: int) -> void:
|
||||
if order.size() + ai_count < 2:
|
||||
return
|
||||
raum.in_game = true
|
||||
var cfg := {"peers": order, "names": raum.lobby.duplicate(), "ai": ai_count}
|
||||
var cfg := {"peers": order, "names": raum.lobby.duplicate(), "ai": ai_count,
|
||||
"stufe": clampi(stufe, 0, 2)}
|
||||
_start_zustellen(code, cfg)
|
||||
game_started.emit(code, cfg)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user