diff options
author | Spartan322 <Megacake1234@gmail.com> | 2023-06-03 20:37:10 +0200 |
---|---|---|
committer | Spartan322 <Megacake1234@gmail.com> | 2023-06-03 20:37:10 +0200 |
commit | cef940108fe15752c3ef66f43f5169403fa2f71d (patch) | |
tree | fe4de5a05830e3bddeae78f74f729503b7cee1e9 /game/src/MusicConductor/MusicConductor.gd | |
parent | 73e29d02e48739aba5ca5db1b9575c67e795400f (diff) |
Reorganize the file structure of the files in `game/src`
Diffstat (limited to 'game/src/MusicConductor/MusicConductor.gd')
-rw-r--r-- | game/src/MusicConductor/MusicConductor.gd | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/game/src/MusicConductor/MusicConductor.gd b/game/src/MusicConductor/MusicConductor.gd deleted file mode 100644 index 98dd0eb..0000000 --- a/game/src/MusicConductor/MusicConductor.gd +++ /dev/null @@ -1,77 +0,0 @@ -extends Node - -# REQUIREMENTS -# * SS-67 -@export_dir var music_directory : String -@export var first_song_name : String - -var _selected_track = 0 -var _available_songs : Array[SongInfo] = [] -var _auto_play_next_song : bool = true - -## True if music player should be visible. -## Used to keep keep consistency between scene changes -var is_music_player_visible : bool = true - -func get_all_song_names() -> Array[String]: - var songNames : Array[String] = [] - for si in _available_songs: - songNames.append(si.song_name) - return songNames - -func get_current_song_index() -> int: - return _selected_track - -func get_current_song_name() -> String: - return _available_songs[_selected_track].song_name - -func scrub_song_by_percentage(percentage: float) -> void: - var percentInSeconds : float = (percentage / 100.0) * $AudioStreamPlayer.stream.get_length() - $AudioStreamPlayer.play(percentInSeconds) - -func get_current_song_progress_percentage() -> float: - return 100 * ($AudioStreamPlayer.get_playback_position() / $AudioStreamPlayer.stream.get_length()) - -func is_paused() -> bool: - return $AudioStreamPlayer.stream_paused - -func toggle_play_pause() -> void: - $AudioStreamPlayer.stream_paused = !$AudioStreamPlayer.stream_paused - -func start_current_song() -> void: - $AudioStreamPlayer.stream = _available_songs[_selected_track].song_stream - $AudioStreamPlayer.play() - -# REQUIREMENTS -# * SS-70 -func start_song_by_index(id: int) -> void: - _selected_track = id - start_current_song() - -# REQUIREMENTS -# * SS-69 -func select_next_song() -> void: - _selected_track = (_selected_track + 1) % len(_available_songs) - start_current_song() - -func select_previous_song() -> void: - _selected_track = (len(_available_songs) - 1) if (_selected_track == 0) else (_selected_track - 1) - start_current_song() - -# REQUIREMENTS -# * SND-2 -func _ready(): - var dir = DirAccess.open(music_directory) - for fname in dir.get_files(): - if fname.ends_with(".import"): - fname = fname.get_basename() - if fname.get_basename() == first_song_name: - _selected_track = _available_songs.size() - _available_songs.append(SongInfo.new(music_directory, fname)) - start_current_song() - - -func _on_audio_stream_player_finished(): - if _auto_play_next_song: - select_next_song() - start_current_song() |