Files
VRyHungry1/global/global_key_events.gd
T
2026-08-10 13:47:01 +02:00

42 lines
1.4 KiB
GDScript

extends Node
func _unhandled_input(event: InputEvent) -> void:
if event.is_action_pressed("quit_game"):
all_quit_game.rpc()
if event.is_action_pressed("satisfy_table_orders"):
satisfy_table_orders()
if event.is_action_pressed("set_building_mode"):
set_buidling_mode()
if event.is_action_pressed("set_running_mode"):
set_running_mode()
if event.is_action_pressed("set_game_over"):
set_game_over()
# Kill all clients
@rpc("any_peer", "call_local", "reliable")
func all_quit_game():
get_tree().quit()
# Finds any node of class/type Table and calls satisfyAllOrders()
func satisfy_table_orders() -> void:
# Searches all nodes in the current running scene matching the class "Table"
var table_nodes = get_tree().root.find_children("*", "Table", true, false)
for node in table_nodes:
if node.has_method("satisfyAllOrders"):
node.satisfyAllOrders()
func set_buidling_mode():
SweetLogger.info("Setting building mode", [], "global_key_events.gd", "set_buidling_mode")
GameManager.set_game_state(GameManager.GameState.BUILDING)
func set_running_mode():
SweetLogger.info("Setting running mode", [], "global_key_events.gd", "set_running_mode")
GameManager.set_game_state(GameManager.GameState.RUNNING)
func set_game_over():
SweetLogger.info("Setting game over", [], "global_key_events.gd", "set_game_over")
GameManager.set_game_state(GameManager.GameState.GAME_OVER)