extends Node ## The game settings and the players, shared by the whole game. ## ## Registered as the [code]Settings[/code] autoload. const MAX_NUMBER_OF_PLAYERS: int = 7 ## How many letters a search needs before it also finds names with the letters in order ## but apart, e.g. "lttp" for "A Link to the Past". Shorter searches only find names ## that contain the text, since a letter or two in order matches most of the library. const LETTERS_FOR_LOOSE_SEARCH: int = 3 ## The MusicServers that can be picked in the settings. const SERVERS: Array[String] = [ "https://music.sanplex.xyz", "https://tmusic.sanplex.xyz", "https://rmusic.sanplex.xyz", "https://old-music.sanplex.xyz", "http://localhost:8080", ] ## The server debug builds use. const DEBUG_SERVER: String = "http://localhost:8080" ## The winning score debug builds start with, so a game is quick to win while testing. const DEBUG_WINNING_SCORE: int = 5 var default_path: String = "https://music.sanplex.xyz" ## Password for getting an API token from the server. Any password works when the ## server has none set. var api_password: String = "" var selected_server: int = 0 var is_local: bool = false var is_debug: bool = false var stop_after_current: bool = true var auto_repeat_song: bool = true var hide_next_track: bool = true var add_to_stats: bool = true var use_low_played_mode: bool = false var winning_score: int = 20 var fullscreen: bool = false var play_local: bool = false var inspiration_list_speed: int = 1 var hide_for_seconds: float = 5.0 var hide_beginning: bool = false var hide_length: bool = false var hide_ticks: bool = false var player_array: Array[PlayerObject] var edit_players: bool = false var currently_syncing: bool = false var character_select_open: bool = false ## The game version, set in Project Settings > Application > Config > Version. ## Releases are made from it, see RELEASING.md. var version: String = ProjectSettings.get_setting("application/config/version", "") # Autoloads are ready before any scene, so debug builds use the local server and the # low winning score from the very first request func _ready() -> void: if OS.has_feature("debug"): is_debug = true default_path = DEBUG_SERVER selected_server = SERVERS.find(DEBUG_SERVER) winning_score = DEBUG_WINNING_SCORE func delete_children(node: Node) -> void: for n: Node in node.get_children(): node.remove_child(n) n.queue_free()