feat: Implement a new lobby system with configurable match duration, game over screen, and core game state management.
This commit is contained in:
@@ -22,7 +22,7 @@ signal player_banned(player_id: String)
|
||||
|
||||
# Player data cache
|
||||
var players: Array = []
|
||||
var banned_players: Array = [] # [{user_id, username, banned_at, reason, expires}]
|
||||
var banned_players: Array = [] # [{user_id, username, banned_at, reason, expires}]
|
||||
var is_admin: bool = false
|
||||
var is_host: bool = false
|
||||
|
||||
@@ -77,7 +77,7 @@ func _rpc_call(rpc_name: String, payload: Dictionary) -> Dictionary:
|
||||
push_error("[AdminPanel] Not connected to Nakama")
|
||||
return {"error": "Not connected"}
|
||||
|
||||
var result := await NakamaManager.client.rpc_async(
|
||||
var result = await NakamaManager.client.rpc_async(
|
||||
NakamaManager.session,
|
||||
rpc_name,
|
||||
JSON.stringify(payload)
|
||||
@@ -185,10 +185,10 @@ func _update_action_buttons() -> void:
|
||||
|
||||
var idx: int = selected[0]
|
||||
var meta: Dictionary = player_list.get_item_metadata(idx)
|
||||
var is_player_host := meta.get("peer_id", 0) == 1
|
||||
var is_player_host: bool = meta.get("peer_id", 0) == 1
|
||||
|
||||
# Can't kick/ban the host or yourself
|
||||
var is_self := meta.get("user_id", "") == AuthManager.current_user.get("user_id", "")
|
||||
var is_self: bool = meta.get("user_id", "") == AuthManager.current_user.get("user_id", "")
|
||||
|
||||
kick_btn.disabled = is_player_host or is_self
|
||||
ban_btn.disabled = is_player_host or is_self or not is_admin
|
||||
@@ -267,8 +267,8 @@ func _create_ban_dialog(user_id: String, player_name: String) -> ConfirmationDia
|
||||
|
||||
var duration_input := SpinBox.new()
|
||||
duration_input.min_value = 0
|
||||
duration_input.max_value = 8760 # 1 year
|
||||
duration_input.value = 24 # Default 24 hours
|
||||
duration_input.max_value = 8760 # 1 year
|
||||
duration_input.value = 24 # Default 24 hours
|
||||
vbox.add_child(duration_input)
|
||||
|
||||
dialog.add_child(vbox)
|
||||
|
||||
Reference in New Issue
Block a user