56 lines
1.0 KiB
GDScript
56 lines
1.0 KiB
GDScript
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
|
|
var game_mode: String = "snooker"
|
|
|
|
enum PlayerType {
|
|
Player1,
|
|
Player2
|
|
}
|
|
|
|
enum GameModeType {
|
|
BALL_8,
|
|
BALL_9,
|
|
SNOOKER
|
|
}
|
|
|
|
const MATCH_TYPES: Dictionary = {
|
|
"8ball": GameModeType.BALL_8,
|
|
"9ball": GameModeType.BALL_9,
|
|
"snooker": GameModeType.SNOOKER
|
|
}
|
|
|
|
var GameMode: Dictionary = {
|
|
GameModeType.BALL_8: Ball8,
|
|
GameModeType.BALL_9: Ball9,
|
|
GameModeType.SNOOKER: Snooker
|
|
}
|
|
|
|
var SelectedGameMode: GameModeType = GameModeType.SNOOKER
|
|
|
|
|
|
func _init() -> void:
|
|
Globals.game_data = self
|
|
|
|
|
|
@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"
|