diff --git a/assets/audio/effect/animation_enter_end.ogg b/assets/audio/effect/animation_enter_end.ogg new file mode 100644 index 0000000..b225386 --- /dev/null +++ b/assets/audio/effect/animation_enter_end.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ba91c2dc8db8e4fcd95780775d4820643e5358cf73eace669fb7c8f46b06f99 +size 6982 diff --git a/assets/audio/effect/animation_enter_end.ogg.import b/assets/audio/effect/animation_enter_end.ogg.import new file mode 100644 index 0000000..2e2b75c --- /dev/null +++ b/assets/audio/effect/animation_enter_end.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://c07nu4inslkw7" +path="res://.godot/imported/animation_enter_end.ogg-b6d110a97278b1c74c778315265fcb20.oggvorbisstr" + +[deps] + +source_file="res://assets/audio/effect/animation_enter_end.ogg" +dest_files=["res://.godot/imported/animation_enter_end.ogg-b6d110a97278b1c74c778315265fcb20.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/de.po b/de.po index f52357a..03e3021 100644 --- a/de.po +++ b/de.po @@ -64,7 +64,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.8\n" +"X-Generator: Poedit 3.9\n" #: entities/game/auto_close_popup/scenes/AutoClosePopup.tscn msgid "AUTO_CLOSE_POPUP_BODY" @@ -155,10 +155,6 @@ msgstr "Platzhalter" msgid "TITLE" msgstr "Title" -#: entities/game/tutorial_window/scenes/TutorialWindow.tscn -msgid "BODY" -msgstr "Körper" - #: entities/game/tutorial_window/scenes/TutorialWindow.tscn msgid "COMPLETE_TUTORIAL_TOOLTIP" msgstr "Das Tutorial wird abgebrochen und es wird keine weitere Hilfe geben" @@ -1450,6 +1446,16 @@ msgstr "Aktiviere oder deaktiviere VSync für das Spiel" msgid "V_SYNC" msgstr "V Sync" +#: entities/ui/graphic_settings/scenes/GraphicSettings.tscn +msgid "ENTER_ANIMATE_CONTROLS_DESCRIPTION" +msgstr "" +"Wenn diese Option aktiviert wird, werden diverse Menüs beim laden animiert. " +"Dies umfasst Panels und Buttons." + +#: entities/ui/graphic_settings/scenes/GraphicSettings.tscn +msgid "ENTER_ANIMATE_CONTROLS" +msgstr "Animierte Menüs" + #: entities/ui/graphic_settings/scenes/GraphicSettings.tscn msgid "UI_SCALE_TOOLTIP" msgstr "" @@ -1467,6 +1473,9 @@ msgstr "UI Skalierung zurücksetzten" msgid "Samory" msgstr "" +#~ msgid "BODY" +#~ msgstr "Körper" + #~ msgid "UI_SCALE_DECREASE" #~ msgstr "UI Skalierung verkleinern" diff --git a/en.po b/en.po index 7e7be6d..84a2b13 100644 --- a/en.po +++ b/en.po @@ -20,7 +20,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.8\n" +"X-Generator: Poedit 3.9\n" #: entities/game/auto_close_popup/scenes/AutoClosePopup.tscn msgid "AUTO_CLOSE_POPUP_BODY" @@ -109,10 +109,6 @@ msgstr "PLACEHOLDER" msgid "TITLE" msgstr "Title" -#: entities/game/tutorial_window/scenes/TutorialWindow.tscn -msgid "BODY" -msgstr "Body" - #: entities/game/tutorial_window/scenes/TutorialWindow.tscn msgid "COMPLETE_TUTORIAL_TOOLTIP" msgstr "Will stop the tutorial and not additional help will be provided" @@ -1357,6 +1353,16 @@ msgstr "Enable or disable vsync for the game" msgid "V_SYNC" msgstr "VSync" +#: entities/ui/graphic_settings/scenes/GraphicSettings.tscn +msgid "ENTER_ANIMATE_CONTROLS_DESCRIPTION" +msgstr "" +"If this is set to true menus might play an animation if buttons or panels do " +"enter. If this is not wanted, disable the option." + +#: entities/ui/graphic_settings/scenes/GraphicSettings.tscn +msgid "ENTER_ANIMATE_CONTROLS" +msgstr "Animate Menus" + #: entities/ui/graphic_settings/scenes/GraphicSettings.tscn msgid "UI_SCALE_TOOLTIP" msgstr "" @@ -1374,6 +1380,9 @@ msgstr "Reset UI scaling" msgid "Samory" msgstr "" +#~ msgid "BODY" +#~ msgstr "Body" + #~ msgid "UI_SCALE_DECREASE" #~ msgstr "Decrease UI scaling" diff --git a/entities/ui/graphic_settings/scenes/GraphicSettings.tscn b/entities/ui/graphic_settings/scenes/GraphicSettings.tscn index b6bc22b..f53d6e5 100644 --- a/entities/ui/graphic_settings/scenes/GraphicSettings.tscn +++ b/entities/ui/graphic_settings/scenes/GraphicSettings.tscn @@ -5,6 +5,7 @@ [ext_resource type="Script" uid="uid://dxepefpl817n7" path="res://entities/ui/graphic_settings/scripts/WindowModeSelection.gd" id="3_cvhsj"] [ext_resource type="Script" uid="uid://b6p42kfefnyc0" path="res://entities/ui/graphic_settings/scripts/VsyncButton.gd" id="4_r24jl"] [ext_resource type="Script" uid="uid://b3mbd6eeylk66" path="res://entities/ui/graphic_settings/scripts/UiScale.gd" id="5_180xw"] +[ext_resource type="Script" uid="uid://eqtw0pawym83" path="res://entities/ui/graphic_settings/scripts/EnterAnimateControls.gd" id="5_fnqnv"] [ext_resource type="Script" uid="uid://crpang1vb3yxa" path="res://entities/ui/graphic_settings/scripts/UiScaleLabel.gd" id="6_fnqnv"] [ext_resource type="PackedScene" uid="uid://cf4ydk76w8s3l" path="res://entities/ui/button_scroll_bar/scene/ButtonScrollBar.tscn" id="7_r24jl"] @@ -43,6 +44,12 @@ tooltip_text = "VSYNC_SETTING_TOOLTIP" text = "V_SYNC" script = ExtResource("4_r24jl") +[node name="EnterAnimate" type="CheckButton" parent="VBoxContainer" unique_id=1293576611] +layout_mode = 2 +tooltip_text = "ENTER_ANIMATE_CONTROLS_DESCRIPTION" +text = "ENTER_ANIMATE_CONTROLS" +script = ExtResource("5_fnqnv") + [node name="UiScale" type="HBoxContainer" parent="VBoxContainer" unique_id=1692092135] layout_mode = 2 script = ExtResource("5_180xw") @@ -70,8 +77,10 @@ text = "RESET_SCALING" [connection signal="settings_changed" from="." to="VBoxContainer/WindowModeSelection" method="settings_loaded"] [connection signal="settings_changed" from="." to="VBoxContainer/VSync" method="settings_loaded"] [connection signal="settings_changed" from="." to="VBoxContainer/UiScale" method="settings_changed"] +[connection signal="settings_changed" from="." to="VBoxContainer/EnterAnimate" method="settings_loaded"] [connection signal="window_mode_changed" from="VBoxContainer/WindowModeSelection" to="." method="change_window_mode"] [connection signal="toggled" from="VBoxContainer/VSync" to="." method="change_v_sync"] +[connection signal="toggled" from="VBoxContainer/EnterAnimate" to="." method="change_enter_animate"] [connection signal="value_changed" from="VBoxContainer/UiScale" to="VBoxContainer/UiScale/ButtonScrollBar" method="set_value"] [connection signal="drag_ended" from="VBoxContainer/UiScale/ButtonScrollBar" to="VBoxContainer/UiScale" method="update_preview"] [connection signal="value_changed" from="VBoxContainer/UiScale/ButtonScrollBar" to="." method="change_ui_scale"] diff --git a/entities/ui/graphic_settings/scripts/EnterAnimateControls.gd b/entities/ui/graphic_settings/scripts/EnterAnimateControls.gd new file mode 100644 index 0000000..28daef7 --- /dev/null +++ b/entities/ui/graphic_settings/scripts/EnterAnimateControls.gd @@ -0,0 +1,6 @@ +extends ClickableToggle + +func settings_loaded(settings: SettingsResource) -> void: + button_pressed = settings.enter_animate_controls + toggled.emit(button_pressed) + starts_ready = true diff --git a/entities/ui/graphic_settings/scripts/EnterAnimateControls.gd.uid b/entities/ui/graphic_settings/scripts/EnterAnimateControls.gd.uid new file mode 100644 index 0000000..e94fe3a --- /dev/null +++ b/entities/ui/graphic_settings/scripts/EnterAnimateControls.gd.uid @@ -0,0 +1 @@ +uid://eqtw0pawym83 diff --git a/entities/ui/graphic_settings/scripts/GraphicSettings.gd b/entities/ui/graphic_settings/scripts/GraphicSettings.gd index 2601b8c..1e6ad7b 100644 --- a/entities/ui/graphic_settings/scripts/GraphicSettings.gd +++ b/entities/ui/graphic_settings/scripts/GraphicSettings.gd @@ -2,6 +2,7 @@ extends PanelContainer signal window_mode_changed(new_mode: DisplayServer.WindowMode) signal v_sync_changed(state: bool) +signal enter_animate_changed(state: bool) signal ui_scale_changed(new_scale: float) signal settings_changed(setting: SettingsResource) signal language_changed(language_code: String) @@ -19,4 +20,7 @@ func settings_loaded(settings: SettingsResource) -> void: settings_changed.emit(settings) func change_language(language_code: String) -> void: - language_changed.emit(language_code) \ No newline at end of file + language_changed.emit(language_code) + +func change_enter_animate(state: bool) -> void: + enter_animate_changed.emit(state) \ No newline at end of file diff --git a/entities/ui/links/scenes/links.tscn b/entities/ui/links/scenes/links.tscn index 4105c7b..9778b87 100644 --- a/entities/ui/links/scenes/links.tscn +++ b/entities/ui/links/scenes/links.tscn @@ -5,17 +5,14 @@ [ext_resource type="Texture2D" uid="uid://d1fc7nwftgx4y" path="res://assets/icons/QuestionIcon.tres" id="2_1cih1"] [ext_resource type="Script" uid="uid://qgxq73rkwfr3" path="res://shared/entities/clickable_button/resources/OpenSystemFolder.gd" id="3_f67t6"] [ext_resource type="Script" uid="uid://chfatpxf8ucxr" path="res://shared/entities/clickable_button/ClickableButton.gd" id="3_l56ar"] -[ext_resource type="Script" uid="uid://bo2i1r57xlsqc" path="res://shared/entities/clickable_button/resources/animations/ControlScaleAnimation.gd" id="3_m7voa"] -[ext_resource type="Resource" uid="uid://b0gd4uwnid78l" path="res://shared/entities/clickable_button/assets/animations/DefaultButtonAnimation.tres" id="4_f67t6"] +[ext_resource type="Script" uid="uid://rxshx7ma8nn3" path="res://shared/global_entities/control_animation_component/scripts/ControlAnimationComponent.gd" id="4_m7voa"] +[ext_resource type="Resource" uid="uid://cakox3m20wk7q" path="res://shared/resources/control_animation/resources/DefaultButtonEnter.tres" id="5_6wbyd"] [ext_resource type="Script" uid="uid://dvrn3p7xl4tpl" path="res://shared/entities/clickable_button/resources/actions/OpenLinkAction.gd" id="5_m7voa"] [ext_resource type="Texture2D" uid="uid://cln3v63hwble8" path="res://assets/icons/HomeIcon.tres" id="6_6wbyd"] +[ext_resource type="Resource" uid="uid://by7h6kfigwa21" path="res://shared/resources/control_animation/resources/DefaultButtonAnimation.tres" id="6_dpv13"] [ext_resource type="Texture2D" uid="uid://cswswoet5pppp" path="res://assets/icons/ShareIcon.tres" id="7_dpv13"] [ext_resource type="Texture2D" uid="uid://cat86qdkpvga8" path="res://assets/icons/WarningIcon.tres" id="8_63oac"] -[sub_resource type="Resource" id="Resource_6wbyd"] -script = ExtResource("3_m7voa") -metadata/_custom_type_script = "uid://bo2i1r57xlsqc" - [sub_resource type="Resource" id="Resource_m7voa"] script = ExtResource("3_f67t6") user_path = "user://custom_decks/" @@ -52,54 +49,78 @@ icon = ExtResource("1_1cih1") script = ExtResource("3_l56ar") active = 2 only_visible_if_custom_deck_active = true -animation_resource = SubResource("Resource_6wbyd") pressed_action = SubResource("Resource_m7voa") +[node name="ControlAnimationComponent" type="Node" parent="OpenCustomDeckFolder" unique_id=977552176] +script = ExtResource("4_m7voa") +enter_values = ExtResource("5_6wbyd") +hover_values = ExtResource("6_dpv13") +metadata/_custom_type_script = "uid://rxshx7ma8nn3" + [node name="HowToPlay" type="Button" parent="." unique_id=1979169242] layout_mode = 2 size_flags_horizontal = 8 tooltip_text = "HOW_TO_PLAY" -focus_neighbor_left = NodePath("../../../CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quit") -focus_neighbor_top = NodePath("../../../CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quit") focus_neighbor_right = NodePath("../GitHubRepository") focus_next = NodePath("../GitHubRepository") focus_previous = NodePath("../../../CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quit") shortcut = ExtResource("1_2ay2a") icon = ExtResource("2_1cih1") script = ExtResource("3_l56ar") -animation_resource = ExtResource("4_f67t6") pressed_action = SubResource("Resource_ssyfv") +[node name="ControlAnimationComponent" type="Node" parent="HowToPlay" unique_id=1737761850 node_paths=PackedStringArray("await_component")] +script = ExtResource("4_m7voa") +await_component = NodePath("../../OpenCustomDeckFolder/ControlAnimationComponent") +enter_values = ExtResource("5_6wbyd") +hover_values = ExtResource("6_dpv13") +metadata/_custom_type_script = "uid://rxshx7ma8nn3" + [node name="GitHubRepository" type="Button" parent="." unique_id=511307644] layout_mode = 2 size_flags_horizontal = 8 tooltip_text = "GITHUB_REPOSITORY_BUTTON" focus_neighbor_left = NodePath("../HowToPlay") -focus_neighbor_top = NodePath("../../../CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quit") focus_neighbor_right = NodePath("../OpenGameSite") icon = ExtResource("6_6wbyd") script = ExtResource("3_l56ar") -animation_resource = ExtResource("4_f67t6") pressed_action = SubResource("Resource_bmgck") +[node name="ControlAnimationComponent" type="Node" parent="GitHubRepository" unique_id=1581642327 node_paths=PackedStringArray("await_component")] +script = ExtResource("4_m7voa") +await_component = NodePath("../../HowToPlay/ControlAnimationComponent") +enter_values = ExtResource("5_6wbyd") +hover_values = ExtResource("6_dpv13") +metadata/_custom_type_script = "uid://rxshx7ma8nn3" + [node name="OpenGameSite" type="Button" parent="." unique_id=540372814] layout_mode = 2 tooltip_text = "GAME_PAGE" focus_neighbor_left = NodePath("../GitHubRepository") -focus_neighbor_top = NodePath("../../../CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quit") focus_neighbor_right = NodePath("../ReportBug") icon = ExtResource("7_dpv13") script = ExtResource("3_l56ar") -animation_resource = ExtResource("4_f67t6") pressed_action = SubResource("Resource_7m08p") +[node name="ControlAnimationComponent" type="Node" parent="OpenGameSite" unique_id=1020999169 node_paths=PackedStringArray("await_component")] +script = ExtResource("4_m7voa") +await_component = NodePath("../../GitHubRepository/ControlAnimationComponent") +enter_values = ExtResource("5_6wbyd") +hover_values = ExtResource("6_dpv13") +metadata/_custom_type_script = "uid://rxshx7ma8nn3" + [node name="ReportBug" type="Button" parent="." unique_id=129169406] layout_mode = 2 tooltip_text = "REPORT_BUG" focus_neighbor_left = NodePath("../OpenGameSite") -focus_neighbor_top = NodePath("../../../CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quit") focus_neighbor_right = NodePath("../HowToPlay") icon = ExtResource("8_63oac") script = ExtResource("3_l56ar") -animation_resource = ExtResource("4_f67t6") pressed_action = SubResource("Resource_q0p35") + +[node name="ControlAnimationComponent" type="Node" parent="ReportBug" unique_id=457431092 node_paths=PackedStringArray("await_component")] +script = ExtResource("4_m7voa") +await_component = NodePath("../../OpenGameSite/ControlAnimationComponent") +enter_values = ExtResource("5_6wbyd") +hover_values = ExtResource("6_dpv13") +metadata/_custom_type_script = "uid://rxshx7ma8nn3" diff --git a/entities/ui/main_menu/scenes/MainMenu.tscn b/entities/ui/main_menu/scenes/MainMenu.tscn index 0682843..73725a8 100644 --- a/entities/ui/main_menu/scenes/MainMenu.tscn +++ b/entities/ui/main_menu/scenes/MainMenu.tscn @@ -2,18 +2,20 @@ [ext_resource type="Script" uid="uid://bim3h163beyst" path="res://entities/ui/main_menu/scripts/MainMenu.gd" id="1_0c7m2"] [ext_resource type="PackedScene" uid="uid://cgqyilfj4ggfa" path="res://entities/ui/menu_background/scenes/MenuBackground.tscn" id="2_3apnu"] +[ext_resource type="Script" uid="uid://rxshx7ma8nn3" path="res://shared/global_entities/control_animation_component/scripts/ControlAnimationComponent.gd" id="3_aqmwr"] [ext_resource type="Texture2D" uid="uid://cagc8a0n1f001" path="res://assets/icons/LobbyIcon.tres" id="3_yx3sy"] [ext_resource type="Script" uid="uid://chfatpxf8ucxr" path="res://shared/entities/clickable_button/ClickableButton.gd" id="4_b7t05"] -[ext_resource type="Resource" uid="uid://b0gd4uwnid78l" path="res://shared/entities/clickable_button/assets/animations/DefaultButtonAnimation.tres" id="5_sugc0"] +[ext_resource type="Script" uid="uid://bcxjaw3jedjv5" path="res://shared/resources/control_animation/ControlAnimation.gd" id="4_psgpi"] [ext_resource type="PackedScene" uid="uid://dkd4cftggpymb" path="res://entities/ui/game_lobby/scenes/GameLobby.tscn" id="6_yklgi"] [ext_resource type="Script" uid="uid://cymc6ui77jfei" path="res://shared/entities/clickable_button/resources/actions/OpenSceneAction.gd" id="7_bdxeb"] [ext_resource type="PackedScene" uid="uid://bcc3pe48h2wb8" path="res://entities/ui/multiplayer_server_browser/scenes/MultiplayerServerBrowser.tscn" id="8_a83js"] [ext_resource type="Texture2D" uid="uid://cvvijbfoink4y" path="res://assets/icons/MultiplayerIcon.tres" id="8_gciok"] +[ext_resource type="Resource" uid="uid://cakox3m20wk7q" path="res://shared/resources/control_animation/resources/DefaultButtonEnter.tres" id="9_0jj68"] [ext_resource type="Texture2D" uid="uid://wa0qa5dgmjgk" path="res://assets/icons/AiIcon.tres" id="9_e2yd3"] +[ext_resource type="Resource" uid="uid://by7h6kfigwa21" path="res://shared/resources/control_animation/resources/DefaultButtonAnimation.tres" id="9_exu4r"] [ext_resource type="Script" uid="uid://5tb48e2wts7" path="res://entities/ui/main_menu/scripts/QuickAiGame.gd" id="10_wemfb"] [ext_resource type="Script" uid="uid://d0jijr8wa6o8v" path="res://shared/entities/clickable_button/resources/behaviors/DefaultButtonBehavior.gd" id="11_3ka4x"] [ext_resource type="Texture2D" uid="uid://cg0l7tvqmtghr" path="res://assets/sprites/sheet_white1x.png" id="11_38aya"] -[ext_resource type="Script" uid="uid://bo2i1r57xlsqc" path="res://shared/entities/clickable_button/resources/animations/ControlScaleAnimation.gd" id="12_88f22"] [ext_resource type="Texture2D" uid="uid://b6xl5vukmvlku" path="res://assets/icons/AddIcon.tres" id="12_aqmwr"] [ext_resource type="PackedScene" uid="uid://scnjjf50me2r" path="res://entities/ui/deck_viewer/scenes/DeckViewer.tscn" id="12_b51cj"] [ext_resource type="PackedScene" uid="uid://c4cq1tu4j2y7r" path="res://entities/ui/custom_deck_create/scenes/CreateCustomDeck.tscn" id="12_pcola"] @@ -27,6 +29,13 @@ [ext_resource type="PackedScene" uid="uid://da8m8gpy2rlvo" path="res://entities/ui/links/scenes/links.tscn" id="21_fr5td"] [ext_resource type="PackedScene" uid="uid://ded0xyxbb1om1" path="res://entities/ui/settings_menu/scenes/SettingsMenu.tscn" id="21_plb04"] +[sub_resource type="Resource" id="Resource_exu4r"] +script = ExtResource("4_psgpi") +animation_time = 0.5 +scale = Vector2(-1, -1) +modulate_add = Color(1, 1, 1, 0) +metadata/_custom_type_script = "uid://bcxjaw3jedjv5" + [sub_resource type="Resource" id="Resource_btaf3"] script = ExtResource("7_bdxeb") scene_template = ExtResource("6_yklgi") @@ -43,10 +52,6 @@ metadata/_custom_type_script = "uid://cymc6ui77jfei" script = ExtResource("11_3ka4x") metadata/_custom_type_script = "uid://d0jijr8wa6o8v" -[sub_resource type="Resource" id="Resource_aqmwr"] -script = ExtResource("12_88f22") -metadata/_custom_type_script = "uid://bo2i1r57xlsqc" - [sub_resource type="Resource" id="Resource_gciok"] script = ExtResource("7_bdxeb") scene_template = ExtResource("12_pcola") @@ -79,6 +84,12 @@ scene_template = ExtResource("21_plb04") transmit_click_position = true metadata/_custom_type_script = "uid://cymc6ui77jfei" +[sub_resource type="Resource" id="Resource_psgpi"] +script = ExtResource("4_psgpi") +animation_time = 0.3 +position = Vector2(0, -200) +metadata/_custom_type_script = "uid://bcxjaw3jedjv5" + [node name="MainMenu" type="CanvasLayer" unique_id=674321008 node_paths=PackedStringArray("game_buttons") groups=["active_scene"]] script = ExtResource("1_0c7m2") game_buttons = [NodePath("CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Start Game"), NodePath("CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quick Game AI"), NodePath("CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Deck Viewer")] @@ -101,6 +112,11 @@ grow_vertical = 2 [node name="PanelContainer" type="PanelContainer" parent="CenterMainMenu" unique_id=1606515170] layout_mode = 2 +[node name="ControlAnimationComponent" type="Node" parent="CenterMainMenu/PanelContainer" unique_id=1672178851] +script = ExtResource("3_aqmwr") +enter_values = SubResource("Resource_exu4r") +metadata/_custom_type_script = "uid://rxshx7ma8nn3" + [node name="MarginContainer" type="MarginContainer" parent="CenterMainMenu/PanelContainer" unique_id=1719613101] layout_mode = 2 theme_override_constants/margin_left = 10 @@ -122,10 +138,15 @@ focus_neighbor_right = NodePath("../../../../../TopDock/HBoxContainer/SettingsBu text = "CUSTOM_GAME" icon = ExtResource("3_yx3sy") script = ExtResource("4_b7t05") -is_focused = true -animation_resource = ExtResource("5_sugc0") pressed_action = SubResource("Resource_btaf3") +[node name="ControlAnimationComponent" type="Node" parent="CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Start Game" unique_id=317748818 node_paths=PackedStringArray("await_component")] +script = ExtResource("3_aqmwr") +await_component = NodePath("../../../../ControlAnimationComponent") +enter_values = ExtResource("9_0jj68") +hover_values = ExtResource("9_exu4r") +metadata/_custom_type_script = "uid://rxshx7ma8nn3" + [node name="LocalMultiplayer" type="Button" parent="CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer" unique_id=1982123706] layout_mode = 2 tooltip_text = "LOCAL_MULTIPLAYER_TOOLTIP" @@ -133,9 +154,15 @@ text = "LOCAL_MULTIPLAYER" icon = ExtResource("8_gciok") script = ExtResource("4_b7t05") active = 2 -animation_resource = ExtResource("5_sugc0") pressed_action = SubResource("Resource_cu1bk") +[node name="ControlAnimationComponent" type="Node" parent="CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/LocalMultiplayer" unique_id=1351329637 node_paths=PackedStringArray("await_component")] +script = ExtResource("3_aqmwr") +await_component = NodePath("../../Start Game/ControlAnimationComponent") +enter_values = ExtResource("9_0jj68") +hover_values = ExtResource("9_exu4r") +metadata/_custom_type_script = "uid://rxshx7ma8nn3" + [node name="Quick Game AI" type="Button" parent="CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer" unique_id=983813731 node_paths=PackedStringArray("dynamic_neighbor_right")] layout_mode = 2 tooltip_text = "QUICK_GAME_TOOLTIP" @@ -143,7 +170,13 @@ text = "QUICK_GAME" icon = ExtResource("9_e2yd3") script = ExtResource("10_wemfb") dynamic_neighbor_right = NodePath("../../../../../AvailableAiModes/PanelContainer/AvailableAis/Normal_AI") -animation_resource = ExtResource("5_sugc0") + +[node name="ControlAnimationComponent" type="Node" parent="CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quick Game AI" unique_id=1338105200 node_paths=PackedStringArray("await_component")] +script = ExtResource("3_aqmwr") +await_component = NodePath("../../LocalMultiplayer/ControlAnimationComponent") +enter_values = ExtResource("9_0jj68") +hover_values = ExtResource("9_exu4r") +metadata/_custom_type_script = "uid://rxshx7ma8nn3" [node name="Create Custom Deck" type="Button" parent="CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer" unique_id=187735525] layout_mode = 2 @@ -155,27 +188,45 @@ script = ExtResource("4_b7t05") active = 2 only_visible_if_custom_deck_active = true button_behavior = SubResource("Resource_88f22") -animation_resource = SubResource("Resource_aqmwr") pressed_action = SubResource("Resource_gciok") +[node name="ControlAnimationComponent" type="Node" parent="CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Create Custom Deck" unique_id=543365433 node_paths=PackedStringArray("await_component")] +script = ExtResource("3_aqmwr") +await_component = NodePath("../../Quick Game AI/ControlAnimationComponent") +enter_values = ExtResource("9_0jj68") +hover_values = ExtResource("9_exu4r") +metadata/_custom_type_script = "uid://rxshx7ma8nn3" + [node name="Deck Viewer" type="Button" parent="CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer" unique_id=1428377626] layout_mode = 2 tooltip_text = "DECK_VIEWER_TOOLTIP" text = "DECK_VIEWER" icon = SubResource("AtlasTexture_pb5pf") script = ExtResource("4_b7t05") -animation_resource = ExtResource("5_sugc0") pressed_action = SubResource("Resource_7yvqx") +[node name="ControlAnimationComponent" type="Node" parent="CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Deck Viewer" unique_id=128776346 node_paths=PackedStringArray("await_component")] +script = ExtResource("3_aqmwr") +await_component = NodePath("../../Create Custom Deck/ControlAnimationComponent") +enter_values = ExtResource("9_0jj68") +hover_values = ExtResource("9_exu4r") +metadata/_custom_type_script = "uid://rxshx7ma8nn3" + [node name="Credits" type="Button" parent="CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer" unique_id=2286552] layout_mode = 2 tooltip_text = "CREDITS_TOOLTIP" text = "CREDITS" icon = ExtResource("13_nwt3x") script = ExtResource("4_b7t05") -animation_resource = ExtResource("5_sugc0") pressed_action = SubResource("Resource_ukivn") +[node name="ControlAnimationComponent" type="Node" parent="CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Credits" unique_id=1851066395 node_paths=PackedStringArray("await_component")] +script = ExtResource("3_aqmwr") +await_component = NodePath("../../Deck Viewer/ControlAnimationComponent") +enter_values = ExtResource("9_0jj68") +hover_values = ExtResource("9_exu4r") +metadata/_custom_type_script = "uid://rxshx7ma8nn3" + [node name="Quit" type="Button" parent="CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer" unique_id=1120827469] layout_mode = 2 tooltip_text = "QUIT_GAME_TOOLTIP" @@ -186,9 +237,15 @@ text = "QUIT_GAME" icon = ExtResource("15_lppid") script = ExtResource("4_b7t05") active = 2 -animation_resource = ExtResource("5_sugc0") pressed_action = SubResource("Resource_jopkp") +[node name="ControlAnimationComponent" type="Node" parent="CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quit" unique_id=930826110 node_paths=PackedStringArray("await_component")] +script = ExtResource("3_aqmwr") +await_component = NodePath("../../Credits/ControlAnimationComponent") +enter_values = ExtResource("9_0jj68") +hover_values = ExtResource("9_exu4r") +metadata/_custom_type_script = "uid://rxshx7ma8nn3" + [node name="AvailableAiModes" parent="." unique_id=162745716 node_paths=PackedStringArray("align_source") instance=ExtResource("17_iuo3f")] align_source = NodePath("../CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quick Game AI") @@ -233,9 +290,15 @@ focus_next = NodePath("../../../CenterMainMenu/PanelContainer/MarginContainer/VB focus_previous = NodePath("../../../CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Start Game") icon = ExtResource("20_vm73v") script = ExtResource("4_b7t05") -animation_resource = ExtResource("5_sugc0") pressed_action = SubResource("Resource_ev11c") +[node name="ControlAnimationComponent" type="Node" parent="TopDock/HBoxContainer/SettingsButton" unique_id=92017488 node_paths=PackedStringArray("await_component")] +script = ExtResource("3_aqmwr") +await_component = NodePath("../../../../CenterMainMenu/PanelContainer/ControlAnimationComponent") +enter_values = SubResource("Resource_psgpi") +hover_values = ExtResource("9_exu4r") +metadata/_custom_type_script = "uid://rxshx7ma8nn3" + [node name="BottomDock" type="MarginContainer" parent="." unique_id=1158314847] anchors_preset = 12 anchor_top = 1.0 @@ -254,8 +317,29 @@ theme_override_constants/margin_bottom = 10 [node name="Links" parent="BottomDock" unique_id=31784573 instance=ExtResource("21_fr5td")] layout_mode = 2 +[node name="OpenCustomDeckFolder" parent="BottomDock/Links" index="0" unique_id=2116555998] +focus_neighbor_left = NodePath("../../../CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quit") +focus_neighbor_top = NodePath("../../../CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quit") + +[node name="ControlAnimationComponent" parent="BottomDock/Links/OpenCustomDeckFolder" index="0" unique_id=977552176 node_paths=PackedStringArray("await_component")] +await_component = NodePath("../../../../CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quit/ControlAnimationComponent") + +[node name="HowToPlay" parent="BottomDock/Links" index="1" unique_id=1979169242] +focus_neighbor_top = NodePath("../../../CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quit") + +[node name="GitHubRepository" parent="BottomDock/Links" index="2" unique_id=511307644] +focus_neighbor_top = NodePath("../../../CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quit") + +[node name="OpenGameSite" parent="BottomDock/Links" index="3" unique_id=540372814] +focus_neighbor_top = NodePath("../../../CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quit") + +[node name="ReportBug" parent="BottomDock/Links" index="4" unique_id=129169406] +focus_neighbor_top = NodePath("../../../CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quit") + [connection signal="pressed" from="CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quick Game AI" to="AvailableAiModes" method="toggle_menu"] +[connection signal="enter_animation_done" from="CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quit/ControlAnimationComponent" to="CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Start Game" method="focused"] [connection signal="hiding_container" from="AvailableAiModes" to="CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quick Game AI" method="neighbor_hidden"] [connection signal="showing_container" from="AvailableAiModes" to="CenterMainMenu/PanelContainer/MarginContainer/VBoxContainer/Quick Game AI" method="neighbor_shown"] [editable path="AvailableAiModes"] +[editable path="BottomDock/Links"] diff --git a/entities/ui/settings_menu/scenes/SettingsMenu.tscn b/entities/ui/settings_menu/scenes/SettingsMenu.tscn index d7b1a69..fbe1651 100644 --- a/entities/ui/settings_menu/scenes/SettingsMenu.tscn +++ b/entities/ui/settings_menu/scenes/SettingsMenu.tscn @@ -119,6 +119,9 @@ script = ExtResource("19_3ip51") [connection signal="load_custom_deck_changed" from="CenterContainer/PanelContainer/MarginContainer/SettingsMenu/GameplaySettings" to="." method="load_custom_deck_changed"] [connection signal="reset_tutorial" from="CenterContainer/PanelContainer/MarginContainer/SettingsMenu/GameplaySettings" to="." method="reset_tutorial"] [connection signal="time_for_completion_changed" from="CenterContainer/PanelContainer/MarginContainer/SettingsMenu/GameplaySettings" to="." method="time_for_completion_changed"] +[connection signal="enter_animate_changed" from="CenterContainer/PanelContainer/MarginContainer/SettingsMenu/GraphicSettings" to="." method="enter_animate_changed"] +[connection signal="language_changed" from="CenterContainer/PanelContainer/MarginContainer/SettingsMenu/GraphicSettings" to="CenterContainer/PanelContainer/MarginContainer/SettingsMenu/GraphicSettings/VBoxContainer/UiScale/UiScaleLabel" method="language_changed"] +[connection signal="settings_changed" from="CenterContainer/PanelContainer/MarginContainer/SettingsMenu/GraphicSettings" to="CenterContainer/PanelContainer/MarginContainer/SettingsMenu/GraphicSettings/VBoxContainer/UiScale" method="settings_changed"] [connection signal="ui_scale_changed" from="CenterContainer/PanelContainer/MarginContainer/SettingsMenu/GraphicSettings" to="." method="ui_scale_changed"] [connection signal="v_sync_changed" from="CenterContainer/PanelContainer/MarginContainer/SettingsMenu/GraphicSettings" to="." method="v_sync_changed"] [connection signal="window_mode_changed" from="CenterContainer/PanelContainer/MarginContainer/SettingsMenu/GraphicSettings" to="." method="window_mode_changed"] diff --git a/entities/ui/settings_menu/scripts/SettingsMenu.gd b/entities/ui/settings_menu/scripts/SettingsMenu.gd index 7a45012..3ca901a 100644 --- a/entities/ui/settings_menu/scripts/SettingsMenu.gd +++ b/entities/ui/settings_menu/scripts/SettingsMenu.gd @@ -74,5 +74,8 @@ func v_sync_changed(new_value: bool) -> void: mode = DisplayServer.VSYNC_DISABLED DisplayServer.window_set_vsync_mode(mode) +func enter_animate_changed(new_value: bool) -> void: + _current_settings.enter_animate_controls = new_value + func ai_think_time_updated(new_value: float) -> void: _current_settings.ai_think_time = new_value diff --git a/project.godot b/project.godot index 8c70d25..8c21a70 100644 --- a/project.godot +++ b/project.godot @@ -15,7 +15,7 @@ compatibility/default_parent_skeleton_in_mesh_instance_3d=true [application] config/name="Samory" -config/version="0.19.7" +config/version="0.19.8" config/tags=PackedStringArray("public") run/main_scene="res://shared/global_entities/game_manager/scenes/GameManager.tscn" config/features=PackedStringArray("4.6", "GL Compatibility") diff --git a/shared/entities/clickable_button/ClickableButton.gd b/shared/entities/clickable_button/ClickableButton.gd index fae869c..d6d726b 100644 --- a/shared/entities/clickable_button/ClickableButton.gd +++ b/shared/entities/clickable_button/ClickableButton.gd @@ -120,19 +120,13 @@ func toggle_button(on: bool) -> void: return disable_button() +## Deprecated use "ControlAnimationComponent" instead! func animate_in() -> void: - if !_is_animated or animation_resource.is_animated_in(): - return - _ensure_new_tween() - _animation_tween = create_tween() - animation_resource.animate_in(_animation_tween, self) + return +## Deprecated use "ControlAnimationComponent" instead! func animate_out() -> void: - if !_is_animated or !animation_resource.is_animated_in(): - return - _ensure_new_tween() - _animation_tween = create_tween() - animation_resource.animate_out(_animation_tween, self) + return func _exit_tree() -> void: if button_behavior != null: @@ -141,3 +135,5 @@ func _exit_tree() -> void: func simulate_click() -> void: pressed.emit() +func focused() -> void: + grab_focus() \ No newline at end of file diff --git a/shared/global_entities/control_animation_component/scripts/ControlAnimationComponent.gd b/shared/global_entities/control_animation_component/scripts/ControlAnimationComponent.gd new file mode 100644 index 0000000..3307f4f --- /dev/null +++ b/shared/global_entities/control_animation_component/scripts/ControlAnimationComponent.gd @@ -0,0 +1,132 @@ +class_name ControlAnimationComponent extends Node + +signal enter_animation_done() + +@export_group("Options") +@export var use_center: bool = true +## Set this value if you do not want to use the parent node +@export var controlled_node_override: Control = null +@export var properties: Array[String] = [ + "scale", + "position", + "size", + "rotation", + "self_modulate" +] +@export_group("Enter Animation") +@export var enter_animation_enabled: bool = true +## This will disable the enter animation if the target (parent) or custom one is not visible +@export var no_enter_animation_if_target_invisible: bool = true +## Component to await +@export var await_component: ControlAnimationComponent +@export var enter_values: ControlAnimation = null + +@export_group("Hover Animation") +@export var animate_on_focus: bool = true +@export var hover_values: ControlAnimation = null + +var target: Control +var default_values: Dictionary[String, Variant] = {} + +const INSTANT_TRANSITION: Tween.TransitionType = Tween.TransitionType.TRANS_LINEAR + +func _ready() -> void: + target = get_parent() + if controlled_node_override != null: + target = controlled_node_override + var settings: SettingsResource = SettingsRepository.load_settings() + if settings != null: + enter_animation_enabled = settings.enter_animate_controls + await get_tree().physics_frame + _setup() + +func _setup() -> void: + default_values = { + "scale" : target.scale, + "position": target.position, + "size": target.size, + "rotation": target.rotation, + "self_modulate": target.self_modulate + } + if use_center: + target.pivot_offset = target.size / 2 + + if hover_values != null: + hover_values = hover_values.duplicate_deep() + hover_values.setup(target) + + _animate_enter() + _connect_signals() + +func _animate_enter() -> void: + if enter_values == null or not enter_animation_enabled: + await get_tree().physics_frame + enter_animation_done.emit() + return + enter_values = enter_values.duplicate_deep() + enter_values.setup(target) + var data: Dictionary[String, Variant] = enter_values.get_data() + _add_tween(data, 0.0, true, enter_values.easing, INSTANT_TRANSITION) + + if await_component != null: + await await_component.enter_animation_done + if not target.visible and no_enter_animation_if_target_invisible: + await get_tree().physics_frame + enter_animation_done.emit() + return + + await get_tree().create_timer(enter_values.delay).timeout + if enter_values.animation_begin_sound != null: + GlobalSoundBridge.play_sound(enter_values.animation_begin_sound) + _add_tween(default_values, + enter_values.animation_time, + enter_values.parallel, + enter_values.easing, + enter_values.transition, + 0.0, + _enter_done) + await enter_animation_done + +func _enter_done() -> void: + enter_animation_done.emit() + if enter_values.animation_end_sound != null: + GlobalSoundBridge.play_sound(enter_values.animation_end_sound) + +func _connect_signals() -> void: + if hover_values != null: + target.mouse_entered.connect(_add_tween_animation.bind(hover_values)) + target.mouse_exited.connect(_reset_tween_animation.bind(hover_values)) + if animate_on_focus: + target.focus_entered.connect(_add_tween_animation.bind(hover_values)) + target.focus_exited.connect(_reset_tween_animation.bind(hover_values)) + +func _add_tween_animation(data: ControlAnimation) -> void: + _add_tween(data.get_data(), data.animation_time, data.parallel, data.easing, data.transition) + +func _reset_tween_animation(data: ControlAnimation) -> void: + _add_tween(default_values, data.animation_time, data.parallel, data.easing, data.transition) + +func _add_tween(target_properties: Dictionary[String, Variant], + animation_time: float, + parallel: bool, + easing: Tween.EaseType, + transition: Tween.TransitionType, + delay: float = 0.0, + end_method: Callable = func() -> void: return) -> void: + if target_properties == null or not is_inside_tree() or target.is_queued_for_deletion(): + return + await get_tree().create_timer(delay).timeout + var tween: Tween = get_tree().create_tween() + for property: String in properties: + if not target_properties.has(property): + continue + if parallel: + tween.parallel() + tween.tween_property(target, property, target_properties[property], animation_time).set_ease(easing).set_trans(transition) + tween.finished.connect(_call_end_method.bind(end_method)) + tween.play() + +func _call_end_method(end_method: Callable) -> void: + if end_method == null or self == null: + return + end_method.call() \ No newline at end of file diff --git a/shared/global_entities/control_animation_component/scripts/ControlAnimationComponent.gd.uid b/shared/global_entities/control_animation_component/scripts/ControlAnimationComponent.gd.uid new file mode 100644 index 0000000..2746c5b --- /dev/null +++ b/shared/global_entities/control_animation_component/scripts/ControlAnimationComponent.gd.uid @@ -0,0 +1 @@ +uid://rxshx7ma8nn3 diff --git a/shared/global_entities/settings_repository/resources/SettingsResource.gd b/shared/global_entities/settings_repository/resources/SettingsResource.gd index f09e4d5..4061764 100644 --- a/shared/global_entities/settings_repository/resources/SettingsResource.gd +++ b/shared/global_entities/settings_repository/resources/SettingsResource.gd @@ -1,7 +1,12 @@ class_name SettingsResource extends Save +@export_group("graphics") @export var window_mode: DisplayServer.WindowMode @export var vsync_active: bool = false +@export var enter_animate_controls: bool = true +@export_range(0.2, 3) var ui_scale_factor: float = 1 + +@export_group("Gameplay") @export var load_custom_decks: bool = true @export var language_code: String = "en" @export var tutorials: Dictionary = {} @@ -9,7 +14,6 @@ class_name SettingsResource extends Save @export var auto_close_popup_shown: bool = false @export var auto_close_round: bool = true @export var close_round_after_seconds: float = 3 -@export_range(0.2, 3) var ui_scale_factor: float = 1 @export_group("Audio") @export_range(0,1) var master_volume: float = 1 diff --git a/shared/global_entities/settings_repository/scripts/SettingsRepository.gd b/shared/global_entities/settings_repository/scripts/SettingsRepository.gd index c9fb953..5889540 100644 --- a/shared/global_entities/settings_repository/scripts/SettingsRepository.gd +++ b/shared/global_entities/settings_repository/scripts/SettingsRepository.gd @@ -23,10 +23,15 @@ func load_settings() -> SettingsResource: return_settings = default_settings.duplicate_deep() settings_updated.emit(return_settings) + loaded_settings = return_settings return return_settings func save_settings(settings: SettingsResource) -> bool: - return settings.save(settings_file) + var saved: bool = settings.save(settings_file) + if saved: + loaded_settings = null + + return saved func convert_legacy_setting() -> void: var settings: SettingsResource = load_legacy_setting() diff --git a/shared/resources/control_animation/ControlAnimation.gd b/shared/resources/control_animation/ControlAnimation.gd new file mode 100644 index 0000000..cb0f732 --- /dev/null +++ b/shared/resources/control_animation/ControlAnimation.gd @@ -0,0 +1,33 @@ +class_name ControlAnimation extends Resource + +@export_group("Transformation") +@export var animation_time: float = 0.2 +@export var parallel: bool = true +@export var scale: Vector2 = Vector2.ZERO +@export var size: Vector2 = Vector2.ZERO +@export var position: Vector2 = Vector2.ZERO +@export var rotation_degree: float = 0.0 +@export var modulate_add: Color = Color.WHITE + +@export_group("Animation") +@export var delay: float = 0.0 +@export var easing: Tween.EaseType +@export var transition: Tween.TransitionType + +@export_group("Effects") +@export var animation_begin_sound: AudioStream +@export var animation_end_sound: AudioStream + +var _data: Dictionary[String, Variant] = {} + +func setup(target: Control) -> void: + _data = { + "scale" : target.scale + scale, + "position": target.position + position, + "size": target.size + size, + "rotation": target.rotation + deg_to_rad(rotation_degree), + "self_modulate": target.self_modulate * modulate_add + } + +func get_data() -> Dictionary[String, Variant]: + return _data \ No newline at end of file diff --git a/shared/resources/control_animation/ControlAnimation.gd.uid b/shared/resources/control_animation/ControlAnimation.gd.uid new file mode 100644 index 0000000..e4ed293 --- /dev/null +++ b/shared/resources/control_animation/ControlAnimation.gd.uid @@ -0,0 +1 @@ +uid://bcxjaw3jedjv5 diff --git a/shared/resources/control_animation/resources/DefaultButtonAnimation.tres b/shared/resources/control_animation/resources/DefaultButtonAnimation.tres new file mode 100644 index 0000000..5e36b33 --- /dev/null +++ b/shared/resources/control_animation/resources/DefaultButtonAnimation.tres @@ -0,0 +1,11 @@ +[gd_resource type="Resource" script_class="ControlAnimation" format=3 uid="uid://by7h6kfigwa21"] + +[ext_resource type="Script" uid="uid://bcxjaw3jedjv5" path="res://shared/resources/control_animation/ControlAnimation.gd" id="1_8qsl1"] + +[resource] +script = ExtResource("1_8qsl1") +parallel = false +scale = Vector2(0.1, 0.1) +easing = 1 +transition = 8 +metadata/_custom_type_script = "uid://bcxjaw3jedjv5" diff --git a/shared/resources/control_animation/resources/DefaultButtonEnter.tres b/shared/resources/control_animation/resources/DefaultButtonEnter.tres new file mode 100644 index 0000000..6542bbc --- /dev/null +++ b/shared/resources/control_animation/resources/DefaultButtonEnter.tres @@ -0,0 +1,13 @@ +[gd_resource type="Resource" script_class="ControlAnimation" format=3 uid="uid://cakox3m20wk7q"] + +[ext_resource type="AudioStream" uid="uid://c07nu4inslkw7" path="res://assets/audio/effect/animation_enter_end.ogg" id="1_bv0ho"] +[ext_resource type="Script" uid="uid://bcxjaw3jedjv5" path="res://shared/resources/control_animation/ControlAnimation.gd" id="1_sr5nq"] + +[resource] +script = ExtResource("1_sr5nq") +animation_time = 0.15 +scale = Vector2(-1, -1) +easing = 1 +transition = 9 +animation_begin_sound = ExtResource("1_bv0ho") +metadata/_custom_type_script = "uid://bcxjaw3jedjv5" diff --git a/translations.pot b/translations.pot index 7793a7d..9b6fecd 100644 --- a/translations.pot +++ b/translations.pot @@ -192,10 +192,6 @@ msgstr "" msgid "TITLE" msgstr "" -#: entities/game/tutorial_window/scenes/TutorialWindow.tscn -msgid "BODY" -msgstr "" - #: entities/game/tutorial_window/scenes/TutorialWindow.tscn msgid "COMPLETE_TUTORIAL_TOOLTIP" msgstr "" @@ -1293,6 +1289,14 @@ msgstr "" msgid "V_SYNC" msgstr "" +#: entities/ui/graphic_settings/scenes/GraphicSettings.tscn +msgid "ENTER_ANIMATE_CONTROLS_DESCRIPTION" +msgstr "" + +#: entities/ui/graphic_settings/scenes/GraphicSettings.tscn +msgid "ENTER_ANIMATE_CONTROLS" +msgstr "" + #: entities/ui/graphic_settings/scenes/GraphicSettings.tscn msgid "UI_SCALE_TOOLTIP" msgstr ""