online multiplayer chess game (note server currently down)
Diffstat (limited to 'ui/menus/local_multiplayer/LocalMultiplayer.gd')
| -rw-r--r-- | ui/menus/local_multiplayer/LocalMultiplayer.gd | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/ui/menus/local_multiplayer/LocalMultiplayer.gd b/ui/menus/local_multiplayer/LocalMultiplayer.gd index b9a8f60..bdd232c 100644 --- a/ui/menus/local_multiplayer/LocalMultiplayer.gd +++ b/ui/menus/local_multiplayer/LocalMultiplayer.gd @@ -35,6 +35,10 @@ func create(moves: PoolStringArray, player1_color: bool, players: PoolIntArray, ui._on_info(BoardEngineBridge.info) board_engine_bridge.connect("nps", self, "set_nps", [1 if player1_color == true else 0]) board_engine_bridge.connect("depth", self, "set_thinking", [1 if player1_color == true else 0]) + if board_engine_bridge.is_ready() == false: + var engine_p: UserPanel = ui.panels[int(Globals.grid.team == "w")] + engine_p.loading = true + board_engine_bridge.connect("ready", engine_p, "set_loading", [false]) MODES.EVE: b.team = b.chess.turn Globals.spectating = true @@ -42,6 +46,10 @@ func create(moves: PoolStringArray, player1_color: bool, players: PoolIntArray, ui._spectate_info({white = BoardEngineBridge.info, black = BoardEngineBridge.info}) board_engine_bridge.connect("nps", self, "set_nps") board_engine_bridge.connect("depth", self, "set_thinking") + if board_engine_bridge.is_ready() == false: + for e_p in ui.panels: + e_p.loading = true + board_engine_bridge.connect("ready", e_p, "set_loading", [false]) get_tree().call_group("backbutton", "queue_free") @@ -121,6 +129,8 @@ class BoardEngineBridge: extends Reference signal nps(nps) signal depth(depth) + # warning-ignore:unused_signal + signal ready # is emitted by connect_signals[#l4] const info := {name = "Stockfish", country = "antartica"} @@ -130,12 +140,16 @@ class BoardEngineBridge: var tree: SceneTree var depth: int var searching: bool = false + var ready: bool setget , is_ready var turn: String = "" setget , get_turn func get_turn() -> String: return stockfish.game.turn + func is_ready() -> bool: + return stockfish.engine_ready + func _init(board: Grid, teams: PoolStringArray, _tree: SceneTree, _depth: int) -> void: depth = _depth tree = _tree @@ -150,6 +164,7 @@ class BoardEngineBridge: stockfish.connect("info", self, "_info") stockfish.connect("bestmove", self, "clear_arrows") stockfish.connect("bestmove", self, "play_bestmove") + stockfish.connect("engine_ready", self, "emit_signal", ["ready"]) Events.connect("turn_over", self, "turn_over") func undo(two: bool = false) -> void: |