2026-08-07 02:50:54 -05:00
|
|
|
class_name GameData extends Node
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var client1: int
|
|
|
|
|
var client2: int
|
|
|
|
|
var player_id: String = ""
|
|
|
|
|
|
|
|
|
|
var game_address: String = "0.0.0.0"
|
|
|
|
|
var game_port: int = 8080
|
2026-08-10 21:22:52 -05:00
|
|
|
var game_mode: String = "freeball"
|
2026-08-07 02:50:54 -05:00
|
|
|
|
|
|
|
|
enum PlayerType {
|
|
|
|
|
Player1,
|
|
|
|
|
Player2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
enum GameModeType {
|
|
|
|
|
BALL_8,
|
|
|
|
|
BALL_9,
|
2026-08-10 21:22:52 -05:00
|
|
|
SNOOKER,
|
|
|
|
|
FREE_BALL
|
2026-08-07 02:50:54 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const MATCH_TYPES: Dictionary = {
|
|
|
|
|
"8ball": GameModeType.BALL_8,
|
|
|
|
|
"9ball": GameModeType.BALL_9,
|
2026-08-10 21:22:52 -05:00
|
|
|
"snooker": GameModeType.SNOOKER,
|
|
|
|
|
"freeball": GameModeType.FREE_BALL
|
2026-08-07 02:50:54 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var GameMode: Dictionary = {
|
|
|
|
|
GameModeType.BALL_8: Ball8,
|
|
|
|
|
GameModeType.BALL_9: Ball9,
|
2026-08-10 21:22:52 -05:00
|
|
|
GameModeType.SNOOKER: Snooker,
|
|
|
|
|
GameModeType.FREE_BALL: FreeBall
|
2026-08-07 02:50:54 -05:00
|
|
|
}
|
|
|
|
|
|
2026-08-10 21:22:52 -05:00
|
|
|
var SelectedGameMode: GameModeType = GameModeType.FREE_BALL
|
2026-08-07 02:50:54 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
func _init() -> void:
|
|
|
|
|
Globals.game_data = self
|
|
|
|
|
|
2026-08-14 03:38:04 -05:00
|
|
|
func get_mode_pretty() -> String:
|
|
|
|
|
match game_mode:
|
|
|
|
|
"8ball":
|
|
|
|
|
return "8-Ball"
|
|
|
|
|
"9ball":
|
|
|
|
|
return "9-Ball"
|
|
|
|
|
"snooker":
|
|
|
|
|
return "Snooker"
|
|
|
|
|
"freeball":
|
|
|
|
|
return "Free Ball"
|
|
|
|
|
_:
|
|
|
|
|
return ""
|
2026-08-07 02:50:54 -05:00
|
|
|
|
|
|
|
|
@rpc("authority", "reliable")
|
|
|
|
|
func set_game_address(address: String) -> void:
|
|
|
|
|
game_address = address
|
|
|
|
|
|
|
|
|
|
@rpc("authority", "reliable")
|
|
|
|
|
func set_game_port(port: String) -> void:
|
|
|
|
|
game_port = int(port)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func set_game_mode(mode: String) -> void:
|
|
|
|
|
SelectedGameMode = MATCH_TYPES[mode]
|
|
|
|
|
|
|
|
|
|
func set_player_id(is_player_1: bool) -> void:
|
|
|
|
|
player_id = "Player 1" if is_player_1 else "Player 2"
|