Conversation
There was a problem hiding this comment.
Pull request overview
Adds an in-game UI flow to choose a song (Main Menu → Freeplay → Song Selection) and start playback through SongManager, with UI returning to selection when a song ends. The PR also introduces editor Git version control plugin configuration and vendors the Godot Git plugin addon.
Changes:
- Add
MainMenuandSongSelectionMenuscenes + scripts, and a UI controller script to show/hide menus. - Wire the new UI into
Main.tscnand routesong_selectedtoSongManager.play(...); add asong_finishedsignal to return to the selection menu. - Add Godot editor version control plugin settings and the
godot-git-pluginaddon files.
Reviewed changes
Copilot reviewed 18 out of 19 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| src/ui/ui.gd.uid | Godot UID for the new UI controller script. |
| src/ui/ui.gd | UI controller toggling main menu / selection menu visibility and reacting to song_finished. |
| src/ui/SongSelectionMenu.tscn | New song selection menu scene (label, list, back button, signal hookups). |
| src/ui/song_selection_menu.gd.uid | Godot UID for song selection menu script. |
| src/ui/song_selection_menu.gd | Populates list from Songs.songs and emits song_selected / back_pressed. |
| src/ui/MainMenu.tscn | New main menu scene with (disabled) Story/Settings and Freeplay button. |
| src/ui/main_menu.gd.uid | Godot UID for main menu script. |
| src/ui/main_menu.gd | Emits button-press signals for the main menu. |
| src/ui/debug_ui.gd.uid | Godot UID for debug UI script. |
| src/ui/debug_ui.gd | Debug UI for latency slider and UI toggle input handling. |
| src/song_track/song_manager.gd | Adds song_finished signal and toggles track visibility based on playback. |
| project.godot | Enables editor version control plugin autoload on startup. |
| Main.tscn | Adds new UI nodes (menus + debug UI), rewires latency slider, and connects new UI signals. |
| main.gd | Starts selected song via SongManager.play(song) when a song is chosen. |
| addons/godot-git-plugin/THIRDPARTY.md | Third-party notices for the vendored Git plugin. |
| addons/godot-git-plugin/LICENSE | License file for the vendored Git plugin. |
| addons/godot-git-plugin/git_plugin.gdextension.uid | Godot UID for the Git plugin extension file. |
| addons/godot-git-plugin/git_plugin.gdextension | Declares the Git plugin extension libraries per platform. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+65
to
+68
| player.finished.connect(func(): | ||
| song_finished.emit(current_song) | ||
| current_song = null | ||
| ) |
Comment on lines
+29
to
+31
| ## Whether a song is currently being played | ||
| var playing: bool: | ||
| get: return current_song != null |
Comment on lines
+7
to
+10
| func _process(delta: float) -> void: | ||
| if Input.is_action_just_pressed("debug_toggle_ui"): | ||
| visible = not visible | ||
|
|
Comment on lines
+11
to
+13
| func _on_latency_slider_value_changed(value: float) -> void: | ||
| Songs.audio_latency_ms = value | ||
| $AudioLatency/Label.text = "Latency: %d ms" % value |
Comment on lines
+8
to
+10
| linux.editor.x86_64 = "linux/libgit_plugin.linux.editor.x86_64.so" | ||
| macos.editor = "macos/libgit_plugin.macos.editor.universal.dylib" | ||
| windows.editor.x86_64 = "windows/libgit_plugin.windows.editor.x86_64.dll" |
Comment on lines
+40
to
+43
| [editor] | ||
|
|
||
| version_control/plugin_name="GitPlugin" | ||
| version_control/autoload_on_startup=true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Create a basic menu for selecting which song to play