Attempt to using Nakama as replacement of Low-Level ENet
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
extends Node
|
||||
|
||||
# GameStateManager - Central game state management
|
||||
|
||||
signal game_started()
|
||||
signal game_state_changed()
|
||||
|
||||
@export var enable_bots: bool = true
|
||||
@export var max_players: int = 4
|
||||
|
||||
var players: Array = []
|
||||
var bots: Array = []
|
||||
var game_started_flag: bool = false
|
||||
var local_player_character: CharacterBody3D
|
||||
|
||||
func is_game_started() -> bool:
|
||||
return game_started_flag
|
||||
|
||||
func start_game():
|
||||
game_started_flag = true
|
||||
emit_signal("game_started")
|
||||
|
||||
func add_player(peer_id: int):
|
||||
if not peer_id in players:
|
||||
players.append(peer_id)
|
||||
emit_signal("game_state_changed")
|
||||
|
||||
func remove_player(peer_id: int):
|
||||
players.erase(peer_id)
|
||||
emit_signal("game_state_changed")
|
||||
|
||||
func add_bot(bot_id: int):
|
||||
if not bot_id in bots:
|
||||
bots.append(bot_id)
|
||||
players.append(bot_id)
|
||||
emit_signal("game_state_changed")
|
||||
|
||||
func remove_bot(bot_id: int):
|
||||
bots.erase(bot_id)
|
||||
players.erase(bot_id)
|
||||
emit_signal("game_state_changed")
|
||||
|
||||
func reset():
|
||||
players.clear()
|
||||
bots.clear()
|
||||
game_started_flag = false
|
||||
local_player_character = null
|
||||
Reference in New Issue
Block a user