extends Node ## Global yapılandırma. API endpoint ve sabitler. const API_BASE_URL := "https://api.stepstead.com" const VERSION := "0.1.0" const PLATFORM_ANDROID := "android" const PLATFORM_IOS := "ios" ## Testler için runtime override (örn. headless E2E'de http://127.0.0.1:8002) var override_base := "" func get_api_base() -> String: if override_base != "": return override_base return API_BASE_URL func current_platform() -> String: var name := OS.get_name().to_lower() if name == "android": return PLATFORM_ANDROID if name == "ios": return PLATFORM_IOS return name ## --- Kullanıcı ayarları (Ayarlar paneli) --- const _SETTINGS_PATH := "user://settings.cfg" var sound_on := true var music_on := true var notif_on := true func _ready() -> void: load_settings() func load_settings() -> void: var cf := ConfigFile.new() if cf.load(_SETTINGS_PATH) == OK: sound_on = bool(cf.get_value("audio", "sound", true)) music_on = bool(cf.get_value("audio", "music", true)) notif_on = bool(cf.get_value("notify", "enabled", true)) _apply_audio() func save_settings() -> void: var cf := ConfigFile.new() cf.set_value("audio", "sound", sound_on) cf.set_value("audio", "music", music_on) cf.set_value("notify", "enabled", notif_on) cf.save(_SETTINGS_PATH) _apply_audio() func _apply_audio() -> void: # "Sfx" / "Music" bus'ları varsa sustur; yoksa Master'ı ses ayarına bağla var sfx := AudioServer.get_bus_index("Sfx") if sfx != -1: AudioServer.set_bus_mute(sfx, not sound_on) var mus := AudioServer.get_bus_index("Music") if mus != -1: AudioServer.set_bus_mute(mus, not music_on) if sfx == -1 and mus == -1: var master := AudioServer.get_bus_index("Master") if master != -1: AudioServer.set_bus_mute(master, not (sound_on or music_on))