diff --git a/resources/user/user_difficulty.gd b/resources/user/user_difficulty.gd index f1f5bc9e..9ed27574 100644 --- a/resources/user/user_difficulty.gd +++ b/resources/user/user_difficulty.gd @@ -17,7 +17,7 @@ func get_difficulty(minigame_name: String) -> int: # Adds a game to the minigame history of the user and update difficulty if needed func add_game(minigame_name: String, minigame_won: bool) -> void: - var history : UserMinigameHistory = minigames_histories.get(minigame_name, UserMinigameHistory.new()) + var history: UserMinigameHistory = minigames_histories.get(minigame_name, UserMinigameHistory.new()) history.add_game(minigame_won) minigames_histories[minigame_name] = history difficulty_changed.emit() diff --git a/sources/language_tool/fish_word_list.gd b/sources/language_tool/fish_word_list.gd index 5e6b3bfb..3c3f96c3 100644 --- a/sources/language_tool/fish_word_list.gd +++ b/sources/language_tool/fish_word_list.gd @@ -1,6 +1,6 @@ extends Control -const element_scene: PackedScene = preload("res://sources/language_tool/fish_word_list_element.tscn") +const ELEMENT_SCENE: PackedScene = preload("res://sources/language_tool/fish_word_list_element.tscn") @onready var elements_container: VBoxContainer = %ElementsContainer @@ -30,7 +30,7 @@ func _ready() -> void: Database.db.query(query) for word: Dictionary in Database.db.query_result.duplicate(): - var element: FishWordListElement = element_scene.instantiate() + var element: FishWordListElement = ELEMENT_SCENE.instantiate() elements_container.add_child(element) element.set_word_list(word_list) element.word_id = word.WordID @@ -54,7 +54,7 @@ func sorting_function(a: Node, b: Node, property_name: String) -> bool: func _on_list_title_add_pressed() -> void: - var element: FishWordListElement = element_scene.instantiate() + var element: FishWordListElement = ELEMENT_SCENE.instantiate() elements_container.add_child(element) element.set_word_list(word_list) diff --git a/sources/language_tool/gp_image_and_sound_descriptions.gd b/sources/language_tool/gp_image_and_sound_descriptions.gd index 298cf773..e18f2ccc 100644 --- a/sources/language_tool/gp_image_and_sound_descriptions.gd +++ b/sources/language_tool/gp_image_and_sound_descriptions.gd @@ -7,8 +7,8 @@ const DESCRIPTION_LINE_SCENE: PackedScene = preload("res://sources/language_too func _ready() -> void: - DirAccess.make_dir_recursive_absolute(Database.base_path + Database.language + Database.look_and_learn_images) - DirAccess.make_dir_recursive_absolute(Database.base_path + Database.language + Database.look_and_learn_sounds) + DirAccess.make_dir_recursive_absolute(Database.BASE_PATH + Database.language + Database.LOOK_AND_LEARN_IMAGES) + DirAccess.make_dir_recursive_absolute(Database.BASE_PATH + Database.language + Database.LOOK_AND_LEARN_SOUNDS) Database.db.query("SELECT * FROM GPs WHERE GPs.Exception=0") for res: Dictionary in Database.db.query_result: diff --git a/sources/language_tool/gp_video_descriptions.gd b/sources/language_tool/gp_video_descriptions.gd index 00a9ca04..05f766ed 100644 --- a/sources/language_tool/gp_video_descriptions.gd +++ b/sources/language_tool/gp_video_descriptions.gd @@ -7,7 +7,7 @@ const DESCRIPTION_LINE_SCENE: PackedScene = preload("res://sources/language_tool func _ready() -> void: var _description_line: VideoGPDescription = DESCRIPTION_LINE_SCENE.instantiate() - DirAccess.make_dir_recursive_absolute(Database.base_path + Database.language + Database.look_and_learn_videos) + DirAccess.make_dir_recursive_absolute(Database.BASE_PATH + Database.language + Database.LOOK_AND_LEARN_VIDEOS) _description_line.queue_free() Database.db.query("Select * FROM GPs WHERE GPs.Exception=0") diff --git a/sources/language_tool/in_game_sounds.gd b/sources/language_tool/in_game_sounds.gd index e7a862b7..277b5762 100644 --- a/sources/language_tool/in_game_sounds.gd +++ b/sources/language_tool/in_game_sounds.gd @@ -3,7 +3,7 @@ extends GPImageAndSoundDescriptions func _ready() -> void: - DirAccess.make_dir_recursive_absolute(Database.base_path + Database.language + Database.language_sounds) + DirAccess.make_dir_recursive_absolute(Database.BASE_PATH + Database.language + Database.LANGUAGE_SOUNDS) Database.db.query("SELECT * FROM GPs WHERE GPs.Exception=0") for res: Dictionary in Database.db.query_result: diff --git a/sources/language_tool/kalulu_speech.gd b/sources/language_tool/kalulu_speech.gd index 1fa5b532..e7862cc8 100644 --- a/sources/language_tool/kalulu_speech.gd +++ b/sources/language_tool/kalulu_speech.gd @@ -1,4 +1,5 @@ extends PanelContainer +class_name KaluluSpeech @export var speech_category: String @export var speech_name: String: diff --git a/sources/language_tool/kalulu_speech_title.gd b/sources/language_tool/kalulu_speech_title.gd index b1780baa..974a938b 100644 --- a/sources/language_tool/kalulu_speech_title.gd +++ b/sources/language_tool/kalulu_speech_title.gd @@ -1,4 +1,5 @@ extends PanelContainer +class_name KaluluTitle @export var title: String = "": diff --git a/sources/language_tool/kalulu_speeches.gd b/sources/language_tool/kalulu_speeches.gd index 814e6168..3cee60ff 100644 --- a/sources/language_tool/kalulu_speeches.gd +++ b/sources/language_tool/kalulu_speeches.gd @@ -1,10 +1,8 @@ extends Control -const KaluluTitle: = preload("res://sources/language_tool/kalulu_speech_title.gd") -const KaluluSpeech: = preload("res://sources/language_tool/kalulu_speech.gd") -const title_scene: PackedScene = preload("res://sources/language_tool/kalulu_speech_title.tscn") -const speech_scene: PackedScene = preload("res://sources/language_tool/kalulu_speech.tscn") +const TITLE_SCENE: PackedScene = preload("res://sources/language_tool/kalulu_speech_title.tscn") +const SPEECH_SCENE: PackedScene = preload("res://sources/language_tool/kalulu_speech.tscn") @onready var speech_container: VBoxContainer = %SpeechContainer @@ -93,12 +91,12 @@ func _ready() -> void: } for speech_title: String in speeches.keys(): - var title: KaluluTitle = title_scene.instantiate() + var title: KaluluTitle = TITLE_SCENE.instantiate() title.title = speech_title speech_container.add_child(title) for speech_name: String in speeches[speech_title].keys(): - var speech: KaluluSpeech = speech_scene.instantiate() + var speech: KaluluSpeech = SPEECH_SCENE.instantiate() speech.speech_category = speech_title speech.speech_name = speech_name speech.speech_description = speeches[speech_title][speech_name] diff --git a/sources/language_tool/segment_container.gd b/sources/language_tool/segment_container.gd index 33670333..1e9e522b 100644 --- a/sources/language_tool/segment_container.gd +++ b/sources/language_tool/segment_container.gd @@ -11,8 +11,8 @@ signal changed() @onready var segments_container: VBoxContainer = %SegmentsContainer @onready var lines: Node2D = %Lines -const segment_build_class: PackedScene = preload("res://sources/language_tool/segment_build.tscn") -const point_button_class: PackedScene = preload("res://sources/language_tool/segment_point_button.tscn") +const SEGMENT_BUILD_SCENE: PackedScene = preload("res://sources/language_tool/segment_build.tscn") +const POINT_BUTTON_SCENE: PackedScene = preload("res://sources/language_tool/segment_point_button.tscn") var gradient: Gradient @@ -76,7 +76,7 @@ func match_segment_with_buttons() -> void: for index: int in range(points.size()): while index >= buttons.size(): - var button: SegmentPointButton = point_button_class.instantiate() + var button: SegmentPointButton = POINT_BUTTON_SCENE.instantiate() buttons_parent.add_child(button) buttons.append(button) button.point_down.connect(_on_button_point_down.bind(button)) @@ -121,7 +121,7 @@ func _on_place_point_button_pressed() -> void: func _on_add_segment_button_pressed() -> void: - var segment_build: SegmentBuild = segment_build_class.instantiate() + var segment_build: SegmentBuild = SEGMENT_BUILD_SCENE.instantiate() segments_container.add_child(segment_build) segment_build.modify.connect(_on_segment_modify.bind(segment_build)) diff --git a/sources/language_tool/sentence_list_element.gd b/sources/language_tool/sentence_list_element.gd index 61abf697..336e1f3c 100644 --- a/sources/language_tool/sentence_list_element.gd +++ b/sources/language_tool/sentence_list_element.gd @@ -1,8 +1,8 @@ -extends "res://sources/language_tool/word_list_element.gd" +extends WordListElement signal not_found(text: String) -const WORD_LIST_ELEMENT_SCENE: = preload("res://sources/language_tool/word_list_element.tscn") +const WORD_LIST_ELEMENT_SCENE: PackedScene = preload("res://sources/language_tool/word_list_element.tscn") var words_not_founds: PackedStringArray @@ -14,7 +14,7 @@ func _ready() -> void: func update_lesson() -> void: var m: int = -1 - for gp_id in gp_ids: + for gp_id: int in gp_ids: var i: int = Database.get_min_lesson_for_word_id(gp_id) if i < 0: m = -1 @@ -24,12 +24,12 @@ func update_lesson() -> void: func _add_from_additional_word_list(new_text: String) -> int: - var punc: = "'!()[]{};:'\"\\,<>./?@#$%^&*_~" - var new_text_clean: = new_text.to_lower() - for chara in punc: + var punc: String = "'!()[]{};:'\"\\,<>./?@#$%^&*_~" + var new_text_clean: String = new_text.to_lower() + for chara: String in punc: new_text_clean = new_text_clean.replace(chara, " ") var word_list_element: WordListElement = WORD_LIST_ELEMENT_SCENE.instantiate() - var all_found: = true + var all_found: bool = true words_not_founds.clear() var word_ids: Array[int] = [] for word_element: String in new_text_clean.split(" ", false): @@ -56,7 +56,7 @@ func _add_from_additional_word_list(new_text: String) -> int: Position = index }) return id - var not_found_text: = "Not found:" + var not_found_text: String = "Not found:" for word_not_found: String in words_not_founds: not_found_text += " " + word_not_found not_found.emit(not_found_text) @@ -65,6 +65,6 @@ func _add_from_additional_word_list(new_text: String) -> int: func get_graphemes(p_gp_ids: Array[int]) -> String: var res: Array[String] = [] - for gp_id in p_gp_ids: + for gp_id: int in p_gp_ids: res.append(sub_elements_list[gp_id].grapheme) return " ".join(res) diff --git a/sources/language_tool/tracing_builder.gd b/sources/language_tool/tracing_builder.gd index fba5c4bc..19c6931b 100644 --- a/sources/language_tool/tracing_builder.gd +++ b/sources/language_tool/tracing_builder.gd @@ -73,7 +73,7 @@ func _load_segments(segment_container: SegmentContainer, path: String) -> void: func _save_segments(segments: Array[SegmentBuild], path: String) -> void: - DirAccess.make_dir_recursive_absolute(Database.base_path.path_join(Database.language).path_join(Database.tracing_data_folder)) + DirAccess.make_dir_recursive_absolute(Database.BASE_PATH.path_join(Database.language).path_join(Database.tracing_data_folder)) var file: FileAccess = FileAccess.open(real_path(path), FileAccess.WRITE) for segment: SegmentBuild in segments: var values: PackedStringArray @@ -92,7 +92,7 @@ func upper_path(letter: String) -> String: func real_path(path: String) -> String: - return Database.base_path.path_join(Database.language).path_join(Database.tracing_data_folder).path_join(path) + EXTENSION + return Database.BASE_PATH.path_join(Database.language).path_join(Database.tracing_data_folder).path_join(path) + EXTENSION func _on_save_button_pressed() -> void: diff --git a/sources/look_and_learn/tracing_manager.gd b/sources/look_and_learn/tracing_manager.gd index 5e05966b..ce9a1027 100644 --- a/sources/look_and_learn/tracing_manager.gd +++ b/sources/look_and_learn/tracing_manager.gd @@ -108,7 +108,7 @@ func _upper_path(letter: String) -> String: func _real_path(path: String) -> String: - return Database.base_path.path_join(Database.language).path_join(Database.tracing_data_folder).path_join(path) + EXTENSION + return Database.BASE_PATH.path_join(Database.language).path_join(Database.tracing_data_folder).path_join(path) + EXTENSION diff --git a/sources/menus/brain/brain.gd b/sources/menus/brain/brain.gd index 0977e713..e3a07790 100644 --- a/sources/menus/brain/brain.gd +++ b/sources/menus/brain/brain.gd @@ -2,13 +2,13 @@ extends Control const GARDENS_SCENE: PackedScene = preload("res://sources/gardens/gardens.tscn") -const Kalulu: = preload("res://sources/minigames/base/kalulu.gd") +const KALULU: = preload("res://sources/minigames/base/kalulu.gd") @export var locked_color: Color @export var unlocked_colors: Array[Color] = [] @export var gardens_layout: GardensLayout -@onready var kalulu: Kalulu = $Kalulu +@onready var kalulu: KALULU = $Kalulu @onready var kalulu_button: TextureButton = %KaluluButton @onready var audio_stream_player: AudioStreamPlayer = $AudioStreamPlayer diff --git a/sources/menus/components/code_keyboard.gd b/sources/menus/components/code_keyboard.gd index 607bfafc..ca7062a9 100644 --- a/sources/menus/components/code_keyboard.gd +++ b/sources/menus/components/code_keyboard.gd @@ -4,8 +4,6 @@ class_name CodeKeyboard signal button_pressed(key : String, password : Array[String]) signal password_entered(password : String) -const button_sound: AudioStreamMP3 = preload("res://assets/menus/login/ui_play_button.mp3") - @onready var password_visualizer : PasswordVisualizer = %PasswordVisualizer @onready var buttons: GridContainer = %Buttons @onready var sound_player: AudioStreamPlayer = $ButtonSoundPlayer diff --git a/sources/menus/components/password_visualizer.gd b/sources/menus/components/password_visualizer.gd index af85fec5..62cc5b2d 100644 --- a/sources/menus/components/password_visualizer.gd +++ b/sources/menus/components/password_visualizer.gd @@ -2,7 +2,7 @@ extends HBoxContainer class_name PasswordVisualizer -const icons_textures: Dictionary = { +const ICONS_TEXTURES: Dictionary[String, CompressedTexture2D] = { "1" : preload("res://assets/menus/login/symbol_01.png"), "2" : preload("res://assets/menus/login/symbol_02.png"), "3" : preload("res://assets/menus/login/symbol_03.png"), @@ -47,6 +47,6 @@ func _draw_password() -> void: Logger.error("PasswordVisualizer: A password cannot be more than 3 characters long") return - if value in icons_textures: - icons[i].texture = icons_textures[value] + if value in ICONS_TEXTURES: + icons[i].texture = ICONS_TEXTURES[value] i += 1 diff --git a/sources/menus/device_selection/device_selection.gd b/sources/menus/device_selection/device_selection.gd index 5ff434ff..129a06bc 100644 --- a/sources/menus/device_selection/device_selection.gd +++ b/sources/menus/device_selection/device_selection.gd @@ -1,10 +1,7 @@ extends Control -# Namespace -const DeviceButton:= preload("res://sources/menus/main/device_button.gd") -const device_button_scene: PackedScene = preload("res://sources/menus/main/device_button.tscn") - -const login_scene_path: String = "res://sources/menus/login/login.tscn" +const DEVICE_BUTTON_SCENE: PackedScene = preload("res://sources/menus/main/device_button.tscn") +const LOGIN_SCENE_PATH: String = "res://sources/menus/login/login.tscn" @onready var container: GridContainer = %GridContainer @@ -19,7 +16,7 @@ func _refresh() -> void: child.queue_free() for device: int in UserDataManager.teacher_settings.students.keys(): - var button: DeviceButton = device_button_scene.instantiate() + var button: DeviceButton = DEVICE_BUTTON_SCENE.instantiate() button.number = device button.background_color = Globals.device_colors[device-1 % Globals.device_colors.size()] container.add_child(button) @@ -29,4 +26,4 @@ func _refresh() -> void: func _device_button_pressed(device: int) -> void: Logger.trace("DeviceSelection: User selected device %d" % device) if UserDataManager.set_device_id(device): - get_tree().change_scene_to_file(login_scene_path) + get_tree().change_scene_to_file(LOGIN_SCENE_PATH) diff --git a/sources/menus/language_selection/package_downloader.gd b/sources/menus/language_selection/package_downloader.gd index 34a83b65..240a740d 100644 --- a/sources/menus/language_selection/package_downloader.gd +++ b/sources/menus/language_selection/package_downloader.gd @@ -6,7 +6,7 @@ const DEVICE_SELECTION_SCENE_PATH: String = "res://sources/menus/device_selectio const LOGIN_SCENE_PATH: String = "res://sources/menus/login/login.tscn" const USER_LANGUAGE_RESOURCES_PATH: String = "user://language_resources" -const error_messages: Array[String] = [ +const ERROR_MESSAGES: Array[String] = [ "DISCONECTED_ERROR", "NO_INTERNET_ACCESS", "ERROR_DOWNLOADING", @@ -214,7 +214,7 @@ func _delete_dir(path: String) -> void: func _show_error(error: int) -> void: - error_popup.content_text = error_messages[error] + error_popup.content_text = ERROR_MESSAGES[error] error_popup.show() diff --git a/sources/menus/login/login.gd b/sources/menus/login/login.gd index 7f66964a..b1dd5d28 100644 --- a/sources/menus/login/login.gd +++ b/sources/menus/login/login.gd @@ -1,14 +1,14 @@ extends Control -const teacher_password : String = "42" -const back_scene_path: String = "res://sources/menus/main/main_menu.tscn" -const next_scene_path: String = "res://sources/menus/brain/brain.tscn" -const teacher_scene_path: String = "res://sources/menus/settings/teacher_settings.tscn" -const package_loader_scene_path: String = "res://sources/menus/language_selection/package_downloader.tscn" +const TEACHER_PASSWORD : String = "42" +const BACK_SCENE_PATH: String = "res://sources/menus/main/main_menu.tscn" +const NEXT_SCENE_PATH: String = "res://sources/menus/brain/brain.tscn" +const TEACHER_SCENE_PATH: String = "res://sources/menus/settings/teacher_settings.tscn" +const PACKAGE_LOADER_SCENE_PATH: String = "res://sources/menus/language_selection/package_downloader.tscn" -const Kalulu: = preload("res://sources/minigames/base/kalulu.gd") +const KALULU: = preload("res://sources/minigames/base/kalulu.gd") -@onready var kalulu: Kalulu = $Kalulu +@onready var kalulu: KALULU = $Kalulu @onready var music_player : AudioStreamPlayer = $MusicStreamPlayer @onready var device_number_label: Label = $DeviceNumber @onready var keyboard : CodeKeyboard = $CodeKeyboard @@ -26,7 +26,7 @@ func _ready() -> void: # Check if the database is connected, if not go to loader if not Database.is_open: await get_tree().process_frame - get_tree().change_scene_to_file(package_loader_scene_path) + get_tree().change_scene_to_file(PACKAGE_LOADER_SCENE_PATH) help_speech = Database.load_external_sound(Database.get_kalulu_speech_path("login_screen", "help_code")) wrong_password_speech = Database.load_external_sound(Database.get_kalulu_speech_path("login_screen", "feedback_wrong_password")) @@ -50,7 +50,7 @@ func _on_code_keyboard_password_entered(password: String) -> void: kalulu_button.hide() await kalulu.play_kalulu_speech(right_password_speech) await OpeningCurtain.close() - get_tree().change_scene_to_file(next_scene_path) + get_tree().change_scene_to_file(NEXT_SCENE_PATH) else: kalulu_button.hide() await kalulu.play_kalulu_speech(wrong_password_speech) @@ -58,7 +58,7 @@ func _on_code_keyboard_password_entered(password: String) -> void: func _on_back_button_pressed() -> void: - get_tree().change_scene_to_file(back_scene_path) + get_tree().change_scene_to_file(BACK_SCENE_PATH) func _on_kalulu_button_pressed() -> void: @@ -68,7 +68,7 @@ func _on_kalulu_button_pressed() -> void: func _on_teacher_button_button_down() -> void: - if keyboard.get_password_as_string() == teacher_password: + if keyboard.get_password_as_string() == TEACHER_PASSWORD: teacher_timer.start() @@ -80,4 +80,4 @@ func _on_teacher_button_button_up() -> void: func _on_teacher_timer_timeout() -> void: teacher_help_label.hide() await OpeningCurtain.close() - get_tree().change_scene_to_file(teacher_scene_path) + get_tree().change_scene_to_file(TEACHER_SCENE_PATH) diff --git a/sources/menus/main/device_button.gd b/sources/menus/main/device_button.gd index 59f8659a..fc3b0034 100644 --- a/sources/menus/main/device_button.gd +++ b/sources/menus/main/device_button.gd @@ -1,5 +1,6 @@ @tool extends TextureButton +class_name DeviceButton @onready var background: TextureRect = $Background @onready var label: Label = $Label diff --git a/sources/menus/main/main_menu.gd b/sources/menus/main/main_menu.gd index ed696e87..468cf478 100644 --- a/sources/menus/main/main_menu.gd +++ b/sources/menus/main/main_menu.gd @@ -1,16 +1,15 @@ extends Control -const Kalulu: = preload("res://sources/menus/main/kalulu.gd") -const LoginForm: = preload("res://sources/menus/main/login.gd") +const KALULU: = preload("res://sources/menus/main/kalulu.gd") -const adult_check_scene_path: String = "res://sources/menus/adult_check/adult_check.tscn" -const package_loader_scene_path: String = "res://sources/menus/language_selection/package_downloader.tscn" +const ADULT_CHECK_SCENE_PATH: String = "res://sources/menus/adult_check/adult_check.tscn" +const PACKAGE_LOADER_SCENE_PATH: String = "res://sources/menus/language_selection/package_downloader.tscn" @onready var version_label : Label = $Informations/BuildVersionValue @onready var teacher_label : Label = $Informations/TeacherValue @onready var device_id_label : Label = $Informations/DeviceIDValue -@onready var kalulu : Kalulu = $Kalulu +@onready var kalulu : KALULU = $Kalulu @onready var play_button: Button = %PlayButton @onready var interface_left : MarginContainer = %InterfaceLeft @onready var keyboard_spacer: KeyboardSpacer = %KeyboardSpacer @@ -48,8 +47,8 @@ func _on_back_button_pressed() -> void: func _on_register_pressed() -> void: await OpeningCurtain.close() - get_tree().change_scene_to_file(adult_check_scene_path) + get_tree().change_scene_to_file(ADULT_CHECK_SCENE_PATH) func _on_login_in() -> void: - get_tree().change_scene_to_file(package_loader_scene_path) + get_tree().change_scene_to_file(PACKAGE_LOADER_SCENE_PATH) diff --git a/sources/menus/register/register.gd b/sources/menus/register/register.gd index b168a996..337af54e 100644 --- a/sources/menus/register/register.gd +++ b/sources/menus/register/register.gd @@ -1,7 +1,7 @@ extends Control -const main_menu_path: String = "res://sources/menus/main/main_menu.tscn" -const next_scene_path: String = "res://sources/menus/settings/teacher_settings.tscn" +const MAIN_MENU_PATH: String = "res://sources/menus/main/main_menu.tscn" +const NEXT_SCENE_PATH: String = "res://sources/menus/settings/teacher_settings.tscn" @onready var teacher_steps: Array[PackedScene] = [ preload("res://sources/menus/register/steps/teacher/method_step.tscn"), @@ -58,7 +58,7 @@ func _go_to_step(step_index: int) -> void: func _on_step_back(_step : Step) -> void: if progress_bar.value == 0: - get_tree().change_scene_to_file(main_menu_path) + get_tree().change_scene_to_file(MAIN_MENU_PATH) else: _go_to_step(int(progress_bar.value-1)) @@ -110,7 +110,7 @@ func _on_step_completed(step : Step) -> void: register_data.last_modified = res.body.last_modified register_data.token = res.body.token if UserDataManager.register(register_data): - get_tree().change_scene_to_file(next_scene_path) + get_tree().change_scene_to_file(NEXT_SCENE_PATH) else: if res.has("body") and (res.body as Dictionary).has("message"): popup_info_label.text = res.body.message diff --git a/sources/menus/register/steps/device_recap.gd b/sources/menus/register/steps/device_recap.gd index 7c5be9b4..6fd0edf8 100644 --- a/sources/menus/register/steps/device_recap.gd +++ b/sources/menus/register/steps/device_recap.gd @@ -1,7 +1,7 @@ extends Control class_name DeviceRecap -const student_panel_scene: PackedScene = preload("res://sources/menus/settings/student_panel.tscn") +const STUDENT_PANEL_SCENE: PackedScene = preload("res://sources/menus/settings/student_panel.tscn") @export var title: String @export var students: Array[StudentData] = [] @@ -16,7 +16,7 @@ func _ready() -> void: var index: int = 1 for student: StudentData in students: - var student_panel : StudentPanel = student_panel_scene.instantiate() + var student_panel : StudentPanel = STUDENT_PANEL_SCENE.instantiate() student_panel.student_count = index student_panel.student_data = student students_container.add_child(student_panel) diff --git a/sources/menus/register/steps/recap_step.gd b/sources/menus/register/steps/recap_step.gd index 4b2b10c9..61ee7399 100644 --- a/sources/menus/register/steps/recap_step.gd +++ b/sources/menus/register/steps/recap_step.gd @@ -2,14 +2,14 @@ extends Step class_name RecapStep -const device_recap_scene : PackedScene = preload("res://sources/menus/register/steps/device_recap.tscn") +const DEVICE_RECAP_SCENE: PackedScene = preload("res://sources/menus/register/steps/device_recap.tscn") -@onready var recap_container : VBoxContainer = %RecapContainer -@onready var email : Label = %Email -@onready var account_type : Label = %AccountType -@onready var education_method : Label = %EducationMethod -@onready var devices_count : Label = %DevicesCount -@onready var students_count : Label = %StudentsCount +@onready var recap_container: VBoxContainer = %RecapContainer +@onready var email: Label = %Email +@onready var account_type: Label = %AccountType +@onready var education_method: Label = %EducationMethod +@onready var devices_count: Label = %DevicesCount +@onready var students_count: Label = %StudentsCount func on_enter() -> void: super.on_enter() @@ -38,7 +38,7 @@ func on_enter() -> void: child.queue_free() for device: int in teacher_settings.students.keys(): - var device_recap : DeviceRecap = device_recap_scene.instantiate() + var device_recap : DeviceRecap = DEVICE_RECAP_SCENE.instantiate() if teacher_settings.account_type == TeacherSettings.AccountType.Teacher: device_recap.title = tr("DEVICE_NUMBER").format({"number" : device}) diff --git a/sources/menus/settings/device_tab.gd b/sources/menus/settings/device_tab.gd index e1023efe..6102f353 100644 --- a/sources/menus/settings/device_tab.gd +++ b/sources/menus/settings/device_tab.gd @@ -3,12 +3,12 @@ class_name DeviceTab signal student_pressed(code: int) -const student_panel_scene : PackedScene = preload("res://sources/menus/settings/student_panel.tscn") +const STUDENT_PANEL_SCENE: PackedScene = preload("res://sources/menus/settings/student_panel.tscn") -@onready var students_container : GridContainer = %StudentsContainer +@onready var students_container: GridContainer = %StudentsContainer -@export var device_id : int -@export var students : Array[StudentData] = [] +@export var device_id: int +@export var students: Array[StudentData] = [] func _ready() -> void: @@ -24,7 +24,7 @@ func refresh() -> void: var student_count : int = 1 for student: StudentData in students: - var student_panel: StudentPanel = student_panel_scene.instantiate() + var student_panel: StudentPanel = STUDENT_PANEL_SCENE.instantiate() student_panel.student_count = student_count student_panel.student_data = student diff --git a/sources/menus/settings/lesson_unlock.gd b/sources/menus/settings/lesson_unlock.gd index 92ebf3bb..825b6b6e 100644 --- a/sources/menus/settings/lesson_unlock.gd +++ b/sources/menus/settings/lesson_unlock.gd @@ -1,4 +1,6 @@ extends MarginContainer +class_name LessonUnlock + signal unlocks_changed @export var lesson_number: int: diff --git a/sources/menus/settings/lesson_unlocks.gd b/sources/menus/settings/lesson_unlocks.gd index f3ce26a2..32ad2028 100644 --- a/sources/menus/settings/lesson_unlocks.gd +++ b/sources/menus/settings/lesson_unlocks.gd @@ -3,11 +3,8 @@ class_name LessonUnlocks signal student_deleted(code: int) -# Namespace -const DeviceButton:= preload("res://sources/menus/main/device_button.gd") -const device_button_scene: PackedScene = preload("res://sources/menus/main/device_button.tscn") -const StudentUnlock: = preload("res://sources/menus/settings/lesson_unlock.gd") -const student_unlock_scene: PackedScene = preload("res://sources/menus/settings/lesson_unlock.tscn") +const DEVICE_BUTTON_SCENE: PackedScene = preload("res://sources/menus/main/device_button.tscn") +const LESSON_UNLOCK_SCENE: PackedScene = preload("res://sources/menus/settings/lesson_unlock.tscn") @onready var lesson_container: VBoxContainer = %LessonContainer @onready var name_line_edit: LineEdit = %NameLineEdit @@ -38,7 +35,7 @@ INNER JOIN GPs ON GPsInLessons.GPID = GPs.ID GROUP BY LessonNb ORDER BY LessonNb") for element: Dictionary in Database.db.query_result: - var student_unlock: StudentUnlock = student_unlock_scene.instantiate() + var student_unlock: LessonUnlock = LESSON_UNLOCK_SCENE.instantiate() student_unlock.lesson_GPs = element.GPs student_unlock.lesson_number = element.LessonNb if not progression: @@ -93,7 +90,7 @@ func _device_selection_refresh() -> void: child.queue_free() for device_id: int in UserDataManager.teacher_settings.students.keys(): - var button: DeviceButton = device_button_scene.instantiate() + var button: DeviceButton = DEVICE_BUTTON_SCENE.instantiate() button.number = device_id button.background_color = Globals.device_colors[device_id-1 % Globals.device_colors.size()] container.add_child(button) @@ -107,4 +104,4 @@ func _device_button_pressed(device_id: int) -> void: device = device_id var resSet: Dictionary = await ServerManager.set_student_data(student, {"device_id": device_id}) if not resSet.success: - Logger.trace("LessonUnlock: Device was updated locally for the student, but the network update failed.") + Logger.trace("LessonUnlocks: Device was updated locally for the student, but the network update failed.") diff --git a/sources/minigames/ants/ants_minigame.gd b/sources/minigames/ants/ants_minigame.gd index df28bcff..7051de3d 100644 --- a/sources/minigames/ants/ants_minigame.gd +++ b/sources/minigames/ants/ants_minigame.gd @@ -1,11 +1,11 @@ @tool extends Minigame -const blank_class: PackedScene = preload("res://sources/minigames/ants/blank.tscn") -const ant_class: PackedScene = preload("res://sources/minigames/ants/ant.tscn") -const word_class: PackedScene = preload("res://sources/minigames/ants/word.tscn") +const BLANK_SCENE: PackedScene = preload("res://sources/minigames/ants/blank.tscn") +const ANT_SCENE: PackedScene = preload("res://sources/minigames/ants/ant.tscn") +const WORD_SCENE: PackedScene = preload("res://sources/minigames/ants/word.tscn") -const label_settings: LabelSettings = preload("res://resources/themes/minigames_label_settings.tres") +const LABEL_SETTINGS: LabelSettings = preload("res://resources/themes/minigames_label_settings.tres") @onready var sentence_container: HFlowContainer = %Sentence @onready var ants_spawn: Node2D = %AntsSpawn @@ -141,15 +141,15 @@ func _next_sentence() -> void: for index: int in range(current_words.size()): var current_word: String = current_words[index] if index in blanks: - var blank: Blank = blank_class.instantiate() + var blank: Blank = BLANK_SCENE.instantiate() blank.stimulus = current_word sentence_container.add_child(blank) - var ant: Node2D = ant_class.instantiate() + var ant: Node2D = ANT_SCENE.instantiate() ants.add_child(ant) ant.global_position = ants_spawn.global_position - var word: Word = word_class.instantiate() + var word: Word = WORD_SCENE.instantiate() words.add_child(word) word.stimulus = current_word @@ -169,7 +169,7 @@ func _next_sentence() -> void: label.text = current_word + " " label.vertical_alignment = VERTICAL_ALIGNMENT_CENTER label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER - label.label_settings = label_settings + label.label_settings = LABEL_SETTINGS func _start_ants() -> void: diff --git a/sources/minigames/ants/blank.gd b/sources/minigames/ants/blank.gd index 7303068b..7c201c11 100644 --- a/sources/minigames/ants/blank.gd +++ b/sources/minigames/ants/blank.gd @@ -2,7 +2,7 @@ extends TextureRect class_name Blank -const images: Array[String] = [ +const IMAGES: Array[String] = [ "res://assets/minigames/ants/graphics/hole_02.png", "res://assets/minigames/ants/graphics/hole_03.png", "res://assets/minigames/ants/graphics/hole_04.png", @@ -14,7 +14,7 @@ var stimulus: String func _ready() -> void: - texture = load(images[randi() % images.size()]) + texture = load(IMAGES[randi() % IMAGES.size()]) func set_monitorable(p_monitorable: bool) -> void: diff --git a/sources/minigames/base/base_minigame.gd b/sources/minigames/base/base_minigame.gd index cde57f03..15cf5a4f 100644 --- a/sources/minigames/base/base_minigame.gd +++ b/sources/minigames/base/base_minigame.gd @@ -50,8 +50,8 @@ enum Type { @onready var current_lesson_stimuli_number: int = floori(max_progression * current_lesson_stimuli_ratio) # Sounds -const win_sound_fx: AudioStreamMP3 = preload("res://assets/sfx/sfx_game_over_win.mp3") -const lose_sound_fx: AudioStreamMP3 = preload("res://assets/sfx/sfx_game_over_lose.mp3") +const WIN_SOUND_FX: AudioStreamMP3 = preload("res://assets/sfx/sfx_game_over_win.mp3") +const LOSE_SOUND_FX: AudioStreamMP3 = preload("res://assets/sfx/sfx_game_over_lose.mp3") # Lesson var minigame_difficulty: int @@ -226,7 +226,7 @@ func _win() -> void: else: UserDataManager.update_difficulty_for_minigame(Type.keys()[minigame_name] as String, true) - audio_player.stream = win_sound_fx + audio_player.stream = WIN_SOUND_FX audio_player.play() fireworks.start() @@ -254,7 +254,7 @@ func _lose() -> void: # Difficulty UserDataManager.update_difficulty_for_minigame(Type.keys()[minigame_name] as String, false) - audio_player.stream = lose_sound_fx + audio_player.stream = LOSE_SOUND_FX audio_player.play() await audio_player.finished diff --git a/sources/minigames/base/kalulu.gd b/sources/minigames/base/kalulu.gd index e0725ca8..68eeacba 100644 --- a/sources/minigames/base/kalulu.gd +++ b/sources/minigames/base/kalulu.gd @@ -2,8 +2,8 @@ extends Control signal speech_ended -const show_sound: AudioStreamMP3 = preload("res://assets/kalulu/audio/ui_button_on.mp3") -const hide_sound: AudioStreamMP3 = preload("res://assets/kalulu/audio/ui_button_off.mp3") +const SHOW_SOUND: AudioStreamMP3 = preload("res://assets/kalulu/audio/ui_button_on.mp3") +const HIDE_SOUND: AudioStreamMP3 = preload("res://assets/kalulu/audio/ui_button_off.mp3") @onready var kalulu_sprite: AnimatedSprite2D = $KaluluSprite @@ -21,7 +21,7 @@ func play_kalulu_speech(speech: AudioStream, show_animation: bool = true, hide_a if show_animation: show() - audio_player.stream = show_sound + audio_player.stream = SHOW_SOUND audio_player.play() kalulu_sprite.play("Show") @@ -36,7 +36,7 @@ func play_kalulu_speech(speech: AudioStream, show_animation: bool = true, hide_a Logger.warn("Kalulu: Speech not found") if hide_animation: - audio_player.stream = hide_sound + audio_player.stream = HIDE_SOUND audio_player.play() kalulu_sprite.play("Hide") diff --git a/sources/minigames/base/minigame_ui.gd b/sources/minigames/base/minigame_ui.gd index 813e2b31..8faaaddb 100644 --- a/sources/minigames/base/minigame_ui.gd +++ b/sources/minigames/base/minigame_ui.gd @@ -12,7 +12,7 @@ signal kalulu_speech_ended signal pause_ended -const Kalulu: = preload("res://sources/minigames/base/kalulu.gd") +const KALULU: = preload("res://sources/minigames/base/kalulu.gd") @export var empty_progression_icon: Texture @export var full_progression_icon: Texture @@ -40,7 +40,7 @@ const Kalulu: = preload("res://sources/minigames/base/kalulu.gd") @onready var center_menu: MarginContainer = %CenterMenu # Kalulu -@onready var kalulu: Kalulu = %Kalulu +@onready var kalulu: KALULU = %Kalulu @onready var progression_container: VBoxContainer = %ProgressionContainer @onready var progression_gauge: NinePatchRect = %ProgressionGauge diff --git a/sources/minigames/caterpillar/caterpillar.gd b/sources/minigames/caterpillar/caterpillar.gd index 9d26ea70..3526421e 100644 --- a/sources/minigames/caterpillar/caterpillar.gd +++ b/sources/minigames/caterpillar/caterpillar.gd @@ -4,11 +4,11 @@ class_name Caterpillar signal berry_eaten(berry: Berry) -const body_part_scene: PackedScene = preload("res://sources/minigames/caterpillar/caterpillar_body.tscn") +const BODY_PART_SCENE: PackedScene = preload("res://sources/minigames/caterpillar/caterpillar_body.tscn") -const body_part_width: int = 128 -const body_part_move_time: float = 0.25 -const body_part_wait_time: float = 0.04 +const BODY_PART_WIDTH: int = 128 +const BODY_PART_MOVE_TIME: float = 0.25 +const BODY_PART_WAIT_TIME: float = 0.04 @onready var head: CaterpillarHead = $Head @onready var body_parts: Node2D = $BodyParts @@ -40,14 +40,14 @@ func move(y : float) -> void: # Move body for index: int in body_parts.get_child_count(false): - await get_tree().create_timer(body_part_wait_time).timeout + await get_tree().create_timer(BODY_PART_WAIT_TIME).timeout var body_part: CaterpillarBody = body_parts.get_child(-index-1) coroutine.add_future(_tween_body_part(body_part, y).finished) # Move tail var sceneTree: SceneTree = get_tree() if sceneTree != null: # Is not in editor mode - await get_tree().create_timer(body_part_wait_time).timeout + await get_tree().create_timer(BODY_PART_WAIT_TIME).timeout coroutine.add_future(_tween_body_part(tail, y).finished) @@ -58,7 +58,7 @@ func move(y : float) -> void: func _tween_body_part(part: Node2D, y: float) -> Tween: var tween: Tween = create_tween() - tween.tween_property(part, "global_position:y", y, body_part_move_time) + tween.tween_property(part, "global_position:y", y, BODY_PART_MOVE_TIME) return tween @@ -75,21 +75,21 @@ func eat_berry(berry: Berry) -> void: body_part = current_body_part if not body_part: - var pos: Vector2 = Vector2(head.position.x + body_part_width, head.position.y) + var pos: Vector2 = Vector2(head.position.x + BODY_PART_WIDTH, head.position.y) - body_part = body_part_scene.instantiate() + body_part = BODY_PART_SCENE.instantiate() body_parts.add_child(body_part) body_part.position = pos #body_part.modulate.a = 0 body_part.scale.x = 0 tween.tween_property(head, "position", pos, .2) - tween.parallel().tween_property(berry, "global_position:x",head.global_position.x + body_part_width * 2, .2) + tween.parallel().tween_property(berry, "global_position:x",head.global_position.x + BODY_PART_WIDTH * 2, .2) tween.parallel().tween_property(berry, "modulate:a", 0, .2) #tween.parallel().tween_property(body_part, "modulate:a", 1, .5) tween.parallel().tween_property(body_part, "scale:x", 1, .2) else: - tween.tween_property(berry, "global_position:x", head.global_position.x + body_part_width * 2, 0.2) + tween.tween_property(berry, "global_position:x", head.global_position.x + BODY_PART_WIDTH * 2, 0.2) tween.parallel().tween_property(berry, "modulate:a", 0, 1) head.eat() @@ -109,7 +109,7 @@ func spit_berry(berry: Berry) -> void: # Eat the berry var tween: Tween = create_tween() - tween.tween_property(berry, "global_position:x",head.global_position.x + body_part_width * 2, .2) + tween.tween_property(berry, "global_position:x",head.global_position.x + BODY_PART_WIDTH * 2, .2) await head.eat() # Spit the berry diff --git a/sources/minigames/crabs/crab/crab.gd b/sources/minigames/crabs/crab/crab.gd index 9ceaf5d0..c9d9164e 100644 --- a/sources/minigames/crabs/crab/crab.gd +++ b/sources/minigames/crabs/crab/crab.gd @@ -1,5 +1,6 @@ @tool extends Control +class_name Crab signal crab_hit(stimulus: Dictionary) diff --git a/sources/minigames/crabs/crabs_minigame.gd b/sources/minigames/crabs/crabs_minigame.gd index 6a19c8c5..f512ebeb 100644 --- a/sources/minigames/crabs/crabs_minigame.gd +++ b/sources/minigames/crabs/crabs_minigame.gd @@ -1,10 +1,7 @@ @tool extends SyllablesMinigame -# Namespace -const Crab: = preload("res://sources/minigames/crabs/crab/crab.gd") - -const hole_scene: PackedScene = preload("res://sources/minigames/crabs/hole/hole.tscn") +const HOLE_SCENE: PackedScene = preload("res://sources/minigames/crabs/hole/hole.tscn") class DifficultySettings: var stimuli_ratio: float = 0.75 @@ -47,7 +44,7 @@ func _setup_minigame() -> void: var fj: float = float(j + 1.0) / float(settings.rows[index] as int + 1.0) var x: float = fj * top_left.x + (1.0 - fj) * bottom_right.x - var hole: Hole = hole_scene.instantiate() + var hole: Hole = HOLE_SCENE.instantiate() game_root.add_child(hole) hole.position = Vector2(x, y) diff --git a/sources/minigames/crabs/hole/hole.gd b/sources/minigames/crabs/hole/hole.gd index 665f1b14..face201e 100644 --- a/sources/minigames/crabs/hole/hole.gd +++ b/sources/minigames/crabs/hole/hole.gd @@ -4,21 +4,16 @@ class_name Hole signal stimulus_hit(stimulus: Dictionary) signal crab_despawned(is_stimulus: bool) signal stop() -@warning_ignore("untyped_declaration") -signal crab_out(hole) +signal crab_out(hole: Hole) -# Namespace -const Crab: = preload("res://sources/minigames/crabs/crab/crab.gd") -const CrabAudioStreamPlayer: = preload("res://sources/minigames/crabs/hole/hole_audio_stream_player_2d.gd") - -const crab_scene: PackedScene = preload("res://sources/minigames/crabs/crab/crab.tscn") +const CRAB_SCENE: PackedScene = preload("res://sources/minigames/crabs/crab/crab.tscn") @onready var hole_back: Sprite2D = $HoleBack @onready var hole_front: Sprite2D = $HoleFront @onready var mask: Sprite2D = %Mask @onready var sand_vfx: SandVFX = $SandVFX @onready var timer: Timer = $Timer -@onready var crab_audio_stream_player: CrabAudioStreamPlayer = $CrabAudioStreamPlayer2D +@onready var crab_audio_stream_player: HoleAudioStreamPlayer = $CrabAudioStreamPlayer2D var crab: Crab var crab_x : float @@ -70,7 +65,7 @@ func spawn_crab(gp: Dictionary, p_is_stimulus: bool) -> void: self.is_stimulus = p_is_stimulus # Instantiate a new crab - crab = crab_scene.instantiate() + crab = CRAB_SCENE.instantiate() mask.add_child(crab) crab.hide_label() diff --git a/sources/minigames/crabs/hole/hole_audio_stream_player_2d.gd b/sources/minigames/crabs/hole/hole_audio_stream_player_2d.gd index 7dbf4af0..5acbdf10 100644 --- a/sources/minigames/crabs/hole/hole_audio_stream_player_2d.gd +++ b/sources/minigames/crabs/hole/hole_audio_stream_player_2d.gd @@ -1,4 +1,5 @@ extends AudioStreamPlayer2D +class_name HoleAudioStreamPlayer const CRAB_SOUND_LIST: Array[AudioStreamMP3] = [ preload("res://assets/minigames/crabs/audio/sfx/crab_random_1.mp3"), diff --git a/sources/minigames/fish/fish_minigame.gd b/sources/minigames/fish/fish_minigame.gd index 5f22af79..73ffe43a 100644 --- a/sources/minigames/fish/fish_minigame.gd +++ b/sources/minigames/fish/fish_minigame.gd @@ -3,7 +3,7 @@ extends Minigame signal beacon_fish_dropped(is_answered_real: bool) -const fish_texture_rect_scene: PackedScene = preload("res://sources/minigames/fish/fish_texture_rect.tscn") +const FISH_TEXTURE_RECT_SCENE: PackedScene = preload("res://sources/minigames/fish/fish_texture_rect.tscn") @onready var fish_start_zone: Control = %FishStartZone @onready var beacon1: SpriteControl = %Beacon1 @@ -34,7 +34,7 @@ var tutorial_count: int = 0 func _fish_get_drag_data(_at_position: Vector2) -> Variant: - var fish_texture_rect: Control = fish_texture_rect_scene.instantiate() + var fish_texture_rect: Control = FISH_TEXTURE_RECT_SCENE.instantiate() fish_texture_rect.size = Vector2(200, 200) set_drag_preview(fish_texture_rect) return true diff --git a/sources/minigames/frog/frog.gd b/sources/minigames/frog/frog.gd index 0dc332d9..8a9162d7 100644 --- a/sources/minigames/frog/frog.gd +++ b/sources/minigames/frog/frog.gd @@ -9,7 +9,7 @@ signal jumped() @onready var audio_player: AudioStreamPlayer2D = $AudioStreamPlayer2D @onready var sprite: Sprite2D = $Sprite -const jump_sounds: Array[AudioStreamMP3] = [ +const JUMP_SOUNDS: Array[AudioStreamMP3] = [ preload("res://assets/minigames/frog/audio/frog_jump_random_01.mp3"), preload("res://assets/minigames/frog/audio/frog_jump_random_02.mp3"), preload("res://assets/minigames/frog/audio/frog_jump_random_03.mp3"), @@ -17,7 +17,7 @@ const jump_sounds: Array[AudioStreamMP3] = [ preload("res://assets/minigames/frog/audio/frog_jump_random_05.mp3"), ] -const frog_sounds: Array[AudioStreamMP3] = [ +const FROG_SOUNDS: Array[AudioStreamMP3] = [ preload("res://assets/minigames/frog/audio/frog_random_01.mp3"), preload("res://assets/minigames/frog/audio/frog_random_02.mp3"), preload("res://assets/minigames/frog/audio/frog_random_03.mp3"), @@ -38,14 +38,14 @@ func drown() -> void: func _play_jump_sound() -> void: - audio_player.stream = jump_sounds[randi() % jump_sounds.size()] + audio_player.stream = JUMP_SOUNDS[randi() % JUMP_SOUNDS.size()] audio_player.play() func _play_frog_sound() -> void: var rand: float = randf() if rand <= 0.75: - audio_player.stream = frog_sounds[randi() % frog_sounds.size()] + audio_player.stream = FROG_SOUNDS[randi() % FROG_SOUNDS.size()] audio_player.play() diff --git a/sources/minigames/frog/frog_minigame.gd b/sources/minigames/frog/frog_minigame.gd index a447120a..ccc76ea8 100644 --- a/sources/minigames/frog/frog_minigame.gd +++ b/sources/minigames/frog/frog_minigame.gd @@ -2,12 +2,7 @@ extends WordsMinigame class_name FrogMinigame -# Namespace -const LilypadTrack: = preload("res://sources/minigames/frog/lilypad_track.gd") -const Lilypad: = preload("res://sources/minigames/frog/lilypad.gd") - -const lilypad_track_scene: PackedScene = preload("res://sources/minigames/frog/lilypad_track.tscn") - +const LILYPAD_TRACK_SCENE: PackedScene = preload("res://sources/minigames/frog/lilypad_track.tscn") class DifficultySettings: var stimuli_ratio: float = 0.75 @@ -85,7 +80,7 @@ func _create_tracks() -> void: var current_distractors: Array = _get_current_distractors() for index: int in range((current_word.GPs as Array).size()): - var track: LilypadTrack = lilypad_track_scene.instantiate() + var track: LilypadTrack = LILYPAD_TRACK_SCENE.instantiate() lilypad_tracks_container.add_child(track) track.difficulty_settings = difficulty_settings[difficulty] diff --git a/sources/minigames/frog/lilypad.gd b/sources/minigames/frog/lilypad.gd index e170f124..5da5d0e3 100644 --- a/sources/minigames/frog/lilypad.gd +++ b/sources/minigames/frog/lilypad.gd @@ -1,4 +1,5 @@ extends Control +class_name Lilypad signal pressed() signal disappeared() diff --git a/sources/minigames/frog/lilypad_track.gd b/sources/minigames/frog/lilypad_track.gd index 44b0d089..998a2a80 100644 --- a/sources/minigames/frog/lilypad_track.gd +++ b/sources/minigames/frog/lilypad_track.gd @@ -1,13 +1,9 @@ extends Control +class_name LilypadTrack signal lilypad_in_center(lilypad: Lilypad) -# Namespace -const Lilypad = preload("res://sources/minigames/frog/lilypad.gd") - -const lilypad_scene: PackedScene = preload("res://sources/minigames/frog/lilypad.tscn") -const lilypad_crossing_time: float = 5.0 - +const LILYPAD_SCENE: PackedScene = preload("res://sources/minigames/frog/lilypad.tscn") @onready var audio_player: AudioStreamPlayer2D = $AudioStreamPlayer2D @onready var spawn_timer: Timer = $SpawnTimer @@ -90,7 +86,7 @@ func pick_distractor() -> Dictionary: #region Lilypads func _spawn_lilypad() -> void: - var lilypad: Lilypad = lilypad_scene.instantiate() + var lilypad: Lilypad = LILYPAD_SCENE.instantiate() lilypads.append(lilypad) add_child(lilypad) diff --git a/sources/minigames/jellyfish/jellyfish.gd b/sources/minigames/jellyfish/jellyfish.gd index 67f97796..558074fc 100644 --- a/sources/minigames/jellyfish/jellyfish.gd +++ b/sources/minigames/jellyfish/jellyfish.gd @@ -9,24 +9,24 @@ enum Colors { Green, } -const animations: Array[SpriteFrames] = [ +const ANIMATIONS: Array[SpriteFrames] = [ preload("res://sources/minigames/jellyfish/red_jellyfish_animations.tres"), preload("res://sources/minigames/jellyfish/green_jellyfish_animations.tres"), ] -const scales: Array[Vector2] = [ +const SCALES: Array[Vector2] = [ Vector2(1.,1.), Vector2(1.25, 1.25) ] -const scale_factor : float = 0.2 +const SCALE_FACTOR: float = 0.2 @export var color: int = Colors.Red: set(value): color = value if animated_sprite: - animated_sprite.sprite_frames = animations[color] - scale = scales[color] * (1. + randf() * scale_factor) + animated_sprite.sprite_frames = ANIMATIONS[color] + scale = SCALES[color] * (1. + randf() * SCALE_FACTOR) # Handles sprite size sprite_control.resized.emit() diff --git a/sources/minigames/jellyfish/jellyfish_minigame.gd b/sources/minigames/jellyfish/jellyfish_minigame.gd index 19ea8497..1288d836 100644 --- a/sources/minigames/jellyfish/jellyfish_minigame.gd +++ b/sources/minigames/jellyfish/jellyfish_minigame.gd @@ -1,7 +1,7 @@ @tool extends SyllablesMinigame -const jellyfish_scene: PackedScene = preload("res://sources/minigames/jellyfish/jellyfish.tscn") +const JELLYFISH_SCENE: PackedScene = preload("res://sources/minigames/jellyfish/jellyfish.tscn") class DifficultySettings: var spawn_time: float = 4.0 @@ -60,7 +60,7 @@ func _stop_highlight() -> void: func _spawn() -> void: # Instantiate a new jellyfish - var new_jellyfish : Jellyfish = jellyfish_scene.instantiate() + var new_jellyfish : Jellyfish = JELLYFISH_SCENE.instantiate() spawning_space.add_child(new_jellyfish) # Find the right size for the jellyfish diff --git a/sources/minigames/monkeys/king_monkey.gd b/sources/minigames/monkeys/king_monkey.gd index ce249b8c..f85e0486 100644 --- a/sources/minigames/monkeys/king_monkey.gd +++ b/sources/minigames/monkeys/king_monkey.gd @@ -1,5 +1,5 @@ extends Node2D - +class_name KingMonkey @onready var animation_player: AnimationPlayer = $AnimationPlayer @onready var coconut: Coconut = $Marker2D/Coconut diff --git a/sources/minigames/monkeys/monkey.gd b/sources/minigames/monkeys/monkey.gd index d520ed46..74717e54 100644 --- a/sources/minigames/monkeys/monkey.gd +++ b/sources/minigames/monkeys/monkey.gd @@ -1,5 +1,6 @@ @tool extends Node2D +class_name Monkey signal pressed() signal dragged_into_self() diff --git a/sources/minigames/monkeys/monkeys_minigame.gd b/sources/minigames/monkeys/monkeys_minigame.gd index 6a4bb540..dd0621f1 100644 --- a/sources/minigames/monkeys/monkeys_minigame.gd +++ b/sources/minigames/monkeys/monkeys_minigame.gd @@ -1,13 +1,9 @@ @tool extends WordsMinigame -# Namespace -const KingMonkey: = preload("res://sources/minigames/monkeys/king_monkey.gd") -const Monkey: = preload("res://sources/minigames/monkeys/monkey.gd") +const MONKEY_SCENE: PackedScene = preload("res://sources/minigames/monkeys/monkey.tscn") -const monkey_scene: PackedScene = preload("res://sources/minigames/monkeys/monkey.tscn") - -const audio_streams: Array[AudioStreamMP3] = [ +const AUDIO_STREAMS: Array[AudioStreamMP3] = [ preload("res://assets/minigames/monkeys/audio/monkey_sendcoco.mp3"), preload("res://assets/minigames/monkeys/audio/monkey_sendcoco_right.mp3"), preload("res://assets/minigames/monkeys/audio/monkey_sendcoco_wrong.mp3"), @@ -62,7 +58,7 @@ func _setup_minigame() -> void: var settings: DifficultySettings = difficulty_settings[difficulty] for index: int in settings.distractors_count + 1: - var monkey: Monkey = monkey_scene.instantiate() + var monkey: Monkey = MONKEY_SCENE.instantiate() monkeys_node.add_child(monkey) monkeys.append(monkey) @@ -129,7 +125,7 @@ func _get_coconut_from_monkey_to_king(monkey: Monkey) -> Node2D: await monkey.play("start_throw") monkey.play("finish_throw") - audio_player.stream = audio_streams[Audio.SendToKing] + audio_player.stream = AUDIO_STREAMS[Audio.SendToKing] audio_player.play() var coconut: Coconut = monkey.coconut.duplicate() @@ -174,7 +170,7 @@ func _on_coconut_thrown(monkey: Monkey) -> void: await king.play("start_right") - audio_player.stream = audio_streams[Audio.SendToPlank] + audio_player.stream = AUDIO_STREAMS[Audio.SendToPlank] audio_player.play() king.play("finish_right") @@ -193,7 +189,7 @@ func _on_coconut_thrown(monkey: Monkey) -> void: else: await king.play("start_wrong") - audio_player.stream = audio_streams[Audio.SendToMonkey] + audio_player.stream = AUDIO_STREAMS[Audio.SendToMonkey] audio_player.play() king.play("finish_wrong") diff --git a/sources/minigames/parakeets/parakeet.gd b/sources/minigames/parakeets/parakeet.gd index 34a4421f..3666e989 100644 --- a/sources/minigames/parakeets/parakeet.gd +++ b/sources/minigames/parakeets/parakeet.gd @@ -2,7 +2,7 @@ extends Node2D class_name Parakeet -const instance_scene: String = "res://sources/minigames/parakeets/parakeet.tscn" +const INSTANCE_SCENE: String = "res://sources/minigames/parakeets/parakeet.tscn" enum Colors { Red, @@ -10,7 +10,7 @@ enum Colors { Yellow, } -const animations: Array[SpriteFrames] = [ +const ANIMATIONS: Array[SpriteFrames] = [ preload("res://sources/minigames/parakeets/red_parakeet_animations.tres"), preload("res://sources/minigames/parakeets/green_parakeet_animations.tres"), preload("res://sources/minigames/parakeets/yellow_parakeet_spritesheet.tres") @@ -23,7 +23,7 @@ signal pressed() set(value): color = value if animated_sprite: - animated_sprite.sprite_frames = animations[color] + animated_sprite.sprite_frames = ANIMATIONS[color] @export var uppercase: bool = true: set(value): uppercase = value @@ -52,7 +52,7 @@ func _on_button_pressed() -> void: static func instantiate() -> Parakeet: - return (load(instance_scene) as PackedScene).instantiate() + return (load(INSTANCE_SCENE) as PackedScene).instantiate() func turn_to_back() -> void: diff --git a/sources/minigames/parakeets/parakeets_minigame.gd b/sources/minigames/parakeets/parakeets_minigame.gd index 2979d6fc..2f5e2cf7 100644 --- a/sources/minigames/parakeets/parakeets_minigame.gd +++ b/sources/minigames/parakeets/parakeets_minigame.gd @@ -15,7 +15,7 @@ enum Audio { Win, } -const audio_streams: Array[AudioStreamMP3] = [ +const AUDIO_STREAMS: Array[AudioStreamMP3] = [ preload("res://assets/minigames/parakeets/audio/parakeet_fly.mp3"), preload("res://assets/minigames/parakeets/audio/parakeet_happy_short.mp3"), preload("res://assets/minigames/parakeets/audio/parakeet_turn_over.mp3"), @@ -45,7 +45,7 @@ var parakeets: Array[Parakeet] = [] var selected: Array[Parakeet] = [] var state: State = State.Locked -const difficulty_settings: Dictionary[int, Dictionary] = { +const DIFFICULTY_SETTINGS: Dictionary[int, Dictionary] = { 0 : {"pairs_count": 2}, 1 : {"pairs_count": 3}, 2 : {"pairs_count": 4}, @@ -62,14 +62,14 @@ func _setup_minigame() -> void: current_progression = 0 var max_difficulty: int = 0 - for d: int in difficulty_settings.keys(): + for d: int in DIFFICULTY_SETTINGS.keys(): if d > max_difficulty: max_difficulty = d if difficulty > max_difficulty: difficulty = max_difficulty - var settings: Dictionary = difficulty_settings[difficulty] + var settings: Dictionary = DIFFICULTY_SETTINGS[difficulty] var pairs_count: int = min(settings.pairs_count, stimuli.size()) var possible_start_positions: Array = possible_start_positions_parent.get_children() @@ -196,7 +196,7 @@ func _make_selected_happy() -> void: for parakeet: Parakeet in selected: parakeet.right() parakeet.happy() - audio_player.stream = audio_streams[Audio.Happy] + audio_player.stream = AUDIO_STREAMS[Audio.Happy] audio_player.play() await audio_player.finished @@ -212,14 +212,14 @@ func _make_selected_sad() -> void: func _make_selected_coo() -> void: for parakeet: Parakeet in selected: parakeet.idle() - audio_player.stream = audio_streams[Audio.Win] + audio_player.stream = AUDIO_STREAMS[Audio.Win] audio_player.play() await audio_player.finished func _fly_to(targets: Array[Vector2]) -> void: var coroutine: Coroutine = Coroutine.new() - audio_player.stream = audio_streams[Audio.Fly] + audio_player.stream = AUDIO_STREAMS[Audio.Fly] audio_player.play() coroutine.add_future(audio_player.finished) coroutine.add_future(selected[0].fly_to.bind(targets[0], fly_duration)) @@ -229,7 +229,7 @@ func _fly_to(targets: Array[Vector2]) -> void: func _turn(parakeet: Parakeet, to_back: bool) -> void: if not audio_player.playing: - audio_player.stream = audio_streams[Audio.Turn] + audio_player.stream = AUDIO_STREAMS[Audio.Turn] audio_player.play() if to_back: await parakeet.turn_to_back() @@ -240,7 +240,7 @@ func _turn(parakeet: Parakeet, to_back: bool) -> void: func _flying_arrival(to: Array[Vector2]) -> void: assert(parakeets.size() <= to.size(), "Some parakeets don't have a destination") var coroutine: Coroutine = Coroutine.new() - audio_player.stream = audio_streams[Audio.Fly] + audio_player.stream = AUDIO_STREAMS[Audio.Fly] audio_player.play() coroutine.add_future(audio_player.finished) for index: int in parakeets.size(): diff --git a/sources/minigames/penguin/penguin.gd b/sources/minigames/penguin/penguin.gd index a2308f14..4a329abe 100644 --- a/sources/minigames/penguin/penguin.gd +++ b/sources/minigames/penguin/penguin.gd @@ -2,7 +2,7 @@ extends Node2D class_name Penguin -const snowball_scene: PackedScene = preload("res://sources/minigames/penguin/snowball.tscn") +const SNOWBALL_SCENE: PackedScene = preload("res://sources/minigames/penguin/snowball.tscn") @onready var snowball_position: Marker2D = $Sprite2D/Snowball @onready var animation_player: AnimationPlayer = $AnimationPlayer @@ -12,7 +12,7 @@ var throw_position: Vector2 func _create_snowball() -> void: - var snowball: Snowball = snowball_scene.instantiate() + var snowball: Snowball = SNOWBALL_SCENE.instantiate() snowball.position = snowball_position.global_position snowball.target_position = throw_position - snowball_position.global_position audiostream_player.play() diff --git a/sources/utils/autoloads/database.gd b/sources/utils/autoloads/database.gd index 4fe05266..0235b56e 100644 --- a/sources/utils/autoloads/database.gd +++ b/sources/utils/autoloads/database.gd @@ -1,7 +1,7 @@ @tool extends Node -const _symbols_to_string: Dictionary[String, String] = { +const _SYMBOLS_TO_STRING: Dictionary[String, String] = { "#" : "sharp", "@" : "at", "*" : "star", @@ -9,13 +9,13 @@ const _symbols_to_string: Dictionary[String, String] = { "%" : "pcent", "ยง" : "para" } -const base_path: String = "user://language_resources/" -const look_and_learn_images: String = "/look_and_learn/images/" -const look_and_learn_sounds: String = "/look_and_learn/sounds/" -const look_and_learn_videos: String = "/look_and_learn/video/" -const language_sounds: String = "/language_sounds/" -const kalulu_folder: String = "/kalulu/" -const additional_word_list_path: String = "word_list.csv" +const BASE_PATH: String = "user://language_resources/" +const LOOK_AND_LEARN_IMAGES: String = "/look_and_learn/images/" +const LOOK_AND_LEARN_SOUNDS: String = "/look_and_learn/sounds/" +const LOOK_AND_LEARN_VIDEOS: String = "/look_and_learn/video/" +const LANGUAGE_SOUNDS: String = "/language_sounds/" +const KALULU_FOLDER: String = "/kalulu/" +const ADDITIONAL_WORD_LIST_PATH: String = "word_list.csv" const VIDEO_EXTENSION: String = ".ogv" const IMAGE_EXTENSION: String = ".png" const SOUND_EXTENSION: String = ".mp3" @@ -23,10 +23,10 @@ const SOUND_EXTENSION: String = ".mp3" var language: String: set(value): language = value - db_path = base_path + language + "/language.db" - words_path = base_path + language + "/words/" + db_path = BASE_PATH + language + "/language.db" + words_path = BASE_PATH + language + "/words/" -var db_path: String = base_path + language + "/language.db": +var db_path: String = BASE_PATH + language + "/language.db": set(value): db_path = value if db: @@ -34,7 +34,7 @@ var db_path: String = base_path + language + "/language.db": db.foreign_keys = true connect_to_db() -var words_path: String = base_path + language + "/words/" +var words_path: String = BASE_PATH + language + "/words/" var additional_word_list: Dictionary = {} @onready var db: SQLite = SQLite.new() @@ -53,7 +53,7 @@ func connect_to_db() -> void: func get_additional_word_list_path() -> String: - return base_path.path_join(additional_word_list_path) + return BASE_PATH.path_join(ADDITIONAL_WORD_LIST_PATH) func load_additional_word_list() -> String: @@ -462,7 +462,7 @@ func get_lessons_count() -> int: func get_audio_stream_for_path(path: String) -> AudioStream: - var full_path: String = base_path.path_join(language).path_join(path) + var full_path: String = BASE_PATH.path_join(language).path_join(path) if not FileAccess.file_exists(full_path): return null return load(full_path) @@ -538,31 +538,31 @@ func get_gp_name(gp: Dictionary) -> String: func get_gp_look_and_learn_image_path(gp: Dictionary) -> String: - return base_path + language + look_and_learn_images + get_gp_name(gp) + IMAGE_EXTENSION + return BASE_PATH + language + LOOK_AND_LEARN_IMAGES + get_gp_name(gp) + IMAGE_EXTENSION func get_gp_look_and_learn_sound_path(gp: Dictionary) -> String: - return base_path + language + look_and_learn_sounds + get_gp_name(gp) + SOUND_EXTENSION + return BASE_PATH + language + LOOK_AND_LEARN_SOUNDS + get_gp_name(gp) + SOUND_EXTENSION func get_gp_look_and_learn_video_path(gp: Dictionary) -> String: - return base_path + language + look_and_learn_videos + get_gp_name(gp) + VIDEO_EXTENSION + return BASE_PATH + language + LOOK_AND_LEARN_VIDEOS + get_gp_name(gp) + VIDEO_EXTENSION func get_gp_sound_path(gp: Dictionary) -> String: - return base_path + language + language_sounds + Database.get_gp_name(gp) + SOUND_EXTENSION + return BASE_PATH + language + LANGUAGE_SOUNDS + Database.get_gp_name(gp) + SOUND_EXTENSION func get_syllable_sound_path(syllable: Dictionary) -> String: - return base_path + language + language_sounds + syllable.Grapheme + SOUND_EXTENSION + return BASE_PATH + language + LANGUAGE_SOUNDS + syllable.Grapheme + SOUND_EXTENSION func get_word_sound_path(word: Dictionary) -> String: - return base_path + language + language_sounds + word.Word + SOUND_EXTENSION + return BASE_PATH + language + LANGUAGE_SOUNDS + word.Word + SOUND_EXTENSION func get_kalulu_speech_path(speech_category: String, speech_name: String) -> String: - return base_path + language + language_sounds + kalulu_folder + speech_category + "_" + speech_name + SOUND_EXTENSION + return BASE_PATH + language + LANGUAGE_SOUNDS + KALULU_FOLDER + speech_category + "_" + speech_name + SOUND_EXTENSION func load_external_sound(path: String) -> AudioStreamMP3: @@ -578,8 +578,8 @@ func load_external_sound(path: String) -> AudioStreamMP3: func _phoneme_to_string(phoneme: String) -> String: - if _symbols_to_string.has(phoneme): - return _symbols_to_string[phoneme] + if _SYMBOLS_TO_STRING.has(phoneme): + return _SYMBOLS_TO_STRING[phoneme] elif phoneme == phoneme.to_lower(): return phoneme else: diff --git a/sources/utils/autoloads/lesson_logger.gd b/sources/utils/autoloads/lesson_logger.gd index a9cbfc42..fa34b273 100644 --- a/sources/utils/autoloads/lesson_logger.gd +++ b/sources/utils/autoloads/lesson_logger.gd @@ -1,7 +1,5 @@ extends Node -const Log: = preload("res://sources/utils/minigame_resources/log.gd") - # Contains the current log resource var log_resources: Dictionary = {} @@ -11,7 +9,7 @@ func save_logs(logs: Dictionary, folder_path: String, minigame_name: String, les var log_resource: LogResource if not ResourceLoader.exists(file_path): - log_resource = Log.new() + log_resource = LogResource.new() ResourceSaver.save(log_resource, file_path, ResourceSaver.FLAG_COMPRESS) if not file_path in log_resources: diff --git a/sources/utils/autoloads/logger.gd b/sources/utils/autoloads/logger.gd index 394e8fda..bf8655df 100644 --- a/sources/utils/autoloads/logger.gd +++ b/sources/utils/autoloads/logger.gd @@ -14,7 +14,7 @@ var log_file_path: String var log_file: FileAccess var initialized: bool = false -const logPath: String = "user://Logs/" +const LOG_PATH: String = "user://Logs/" func _ready() -> void: delete_old_logs() @@ -30,7 +30,7 @@ func _ready() -> void: _log_internal(LogLevel.INFO, "--- Logging set at level " + str(current_level) + " ---") func delete_old_logs(days_threshold: float = 10) -> void: - var dir: DirAccess = DirAccess.open(logPath) + var dir: DirAccess = DirAccess.open(LOG_PATH) if dir == null: push_warning("Logger: Could not open Logs directory for cleanup.") return @@ -53,7 +53,7 @@ func delete_old_logs(days_threshold: float = 10) -> void: var file_time: int = Time.get_unix_time_from_datetime_dict(date_dict) var age_days: float = float(now - file_time) / (60.0 * 60.0 * 24.0) if age_days > days_threshold: - var full_path: String = logPath + file_name + var full_path: String = LOG_PATH + file_name var err: Error = dir.remove(full_path) if err != OK: push_warning("Logger: Failed to delete old log: " + full_path) @@ -64,16 +64,16 @@ func delete_old_logs(days_threshold: float = 10) -> void: func _init_log_file() -> void: # Ensure Logs directory exists - var logs_dir: DirAccess = DirAccess.open(logPath) + var logs_dir: DirAccess = DirAccess.open(LOG_PATH) if logs_dir == null: - DirAccess.make_dir_recursive_absolute(logPath) + DirAccess.make_dir_recursive_absolute(LOG_PATH) var now: Dictionary = Time.get_datetime_dict_from_system() var filename: String = "Kalulu_Log_%04d-%02d-%02d-%02d-%02d-%02d.txt" % [ now.year, now.month, now.day, now.hour, now.minute, now.second ] - log_file_path = logPath + filename + log_file_path = LOG_PATH + filename log_file = FileAccess.open(log_file_path, FileAccess.WRITE) if log_file == null: diff --git a/sources/utils/autoloads/music_manager.gd b/sources/utils/autoloads/music_manager.gd index 7b9fbb37..55ef9090 100644 --- a/sources/utils/autoloads/music_manager.gd +++ b/sources/utils/autoloads/music_manager.gd @@ -2,7 +2,7 @@ extends Node @onready var music_player : AudioStreamPlayer = $MusicPlayer -const tracks: Array = [ +const TRACKS: Array = [ preload("res://assets/music/title.mp3"), preload("res://assets/music/garden.mp3") ] @@ -20,7 +20,7 @@ func _on_music_player_finished() -> void: music_player.play() func play(track : Track) -> void: - music_player.stream = tracks[track] + music_player.stream = TRACKS[track] music_player.play() func stop() -> void: diff --git a/sources/utils/fx/rocket.gd b/sources/utils/fx/rocket.gd index 92ce0dce..fe162c55 100644 --- a/sources/utils/fx/rocket.gd +++ b/sources/utils/fx/rocket.gd @@ -15,7 +15,7 @@ class_name Rocket @onready var firework_audio_player: AudioStreamPlayer2D = $FireworkAudioPlayer @onready var blast_audio_player: AudioStreamPlayer2D = $BlastAudioPlayer -const firework_sounds: Array[AudioStreamMP3] = [ +const FIREWORK_SOUNDS: Array[AudioStreamMP3] = [ preload("res://assets/sfx/fireworks_1.mp3"), preload("res://assets/sfx/fireworks_2.mp3"), preload("res://assets/sfx/fireworks_3.mp3"), @@ -23,7 +23,7 @@ const firework_sounds: Array[AudioStreamMP3] = [ preload("res://assets/sfx/fireworks_5.mp3"), ] -const blast_sounds: Array[AudioStreamMP3] = [ +const BLAST_SOUNDS: Array[AudioStreamMP3] = [ preload("res://assets/sfx/blast_1.mp3"), preload("res://assets/sfx/blast_2.mp3"), preload("res://assets/sfx/blast_3.mp3"), @@ -31,7 +31,7 @@ const blast_sounds: Array[AudioStreamMP3] = [ preload("res://assets/sfx/blast_5.mp3"), ] -const colors: Array[Color] = [ +const COLORS: Array[Color] = [ Color(0.427, 0.796, 1), Color(0.976, 0.322, 0.392), Color(1, 0.396, 0.753), @@ -48,12 +48,12 @@ func _ready() -> void: ind_color = randi() % int(rocket.texture.get_size().x / rocket.region_rect.size.x) rocket.region_rect.position.x = ind_color * rocket.region_rect.size.x - firework_audio_player.stream = firework_sounds[randi() % firework_sounds.size()] - blast_audio_player.stream = blast_sounds[randi() % blast_sounds.size()] + firework_audio_player.stream = FIREWORK_SOUNDS[randi() % FIREWORK_SOUNDS.size()] + blast_audio_player.stream = BLAST_SOUNDS[randi() % BLAST_SOUNDS.size()] func start(start_point: Vector2, end_point: Vector2) -> void: - explosion_particles.modulate = colors[ind_color] + explosion_particles.modulate = COLORS[ind_color] create_path(start_point, end_point) diff --git a/sources/utils/fx/sand.gd b/sources/utils/fx/sand.gd index 127c4df4..745a71d0 100644 --- a/sources/utils/fx/sand.gd +++ b/sources/utils/fx/sand.gd @@ -2,7 +2,7 @@ extends Control class_name SandVFX -const textures: Array[Resource] = [ +const TEXTURES: Array[CompressedTexture2D] = [ preload("res://assets/vfx/sand_01.png"), preload("res://assets/vfx/sand_02.png"), preload("res://assets/vfx/sand_03.png"), @@ -22,7 +22,7 @@ func _ready() -> void: func play() -> void: - particles.texture = textures.pick_random() + particles.texture = TEXTURES.pick_random() particles.amount = randi_range(6, 18) particles.restart()