diff --git a/CMSGame.csproj b/CMSGame.csproj
index 9db91b5..2b62a8c 100644
--- a/CMSGame.csproj
+++ b/CMSGame.csproj
@@ -5,6 +5,7 @@
$(DefaultItemExcludes);ScriptTemplates\**\*.cs
+
diff --git a/Components/PauseMenu.cs b/Components/PauseMenu.cs
index cba28f5..fcb5b15 100644
--- a/Components/PauseMenu.cs
+++ b/Components/PauseMenu.cs
@@ -1,10 +1,22 @@
+using CommunityToolkit.Diagnostics;
+
namespace CMSGame
{
- public partial class PauseMenu : Popup
+ public partial class PauseMenu : VBoxContainer
{
- public void On_ExitButton_Pressed()
+ public void On_ResumeBattleButton_Pressed()
{
Hide();
}
+
+ public void On_SettingsMenuButton_Pressed()
+ {
+ GetNode("%SettingsPopup").PopupCentered();
+ }
+
+ public void On_EscapeFromBattleButton_Pressed()
+ {
+ ThrowHelper.ThrowNotSupportedException();
+ }
}
}
diff --git a/Components/PauseMenu.tscn b/Components/PauseMenu.tscn
index 1590b99..619e88e 100644
--- a/Components/PauseMenu.tscn
+++ b/Components/PauseMenu.tscn
@@ -1,14 +1,9 @@
[gd_scene load_steps=3 format=3 uid="uid://c1c87rr8eubhg"]
[ext_resource type="Script" path="res://Components/PauseMenu.cs" id="1_p1e8d"]
-[ext_resource type="PackedScene" uid="uid://blk2uswpo2a7k" path="res://Components/SettingsMenu.tscn" id="2_smral"]
+[ext_resource type="PackedScene" uid="uid://dpd2tih2iudvb" path="res://Components/SettingsPopup.tscn" id="2_bymub"]
-[node name="PauseMenu" type="Popup"]
-size = Vector2i(342, 289)
-visible = true
-script = ExtResource("1_p1e8d")
-
-[node name="VBoxContainer" type="VBoxContainer" parent="."]
+[node name="PauseMenu" type="VBoxContainer"]
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
@@ -22,12 +17,27 @@ grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 4
size_flags_vertical = 4
+script = ExtResource("1_p1e8d")
-[node name="SettingsMenu" parent="VBoxContainer" instance=ExtResource("2_smral")]
+[node name="ResumeBattleButton" type="Button" parent="."]
+unique_name_in_owner = true
layout_mode = 2
+text = "继续战斗"
-[node name="ExitButton" type="Button" parent="VBoxContainer"]
+[node name="SettingsMenuButton" type="Button" parent="."]
+unique_name_in_owner = true
layout_mode = 2
-text = "确认"
+text = "游戏设置"
+
+[node name="EscapeFromBattleButton" type="Button" parent="."]
+unique_name_in_owner = true
+layout_mode = 2
+text = "退出战斗"
+
+[node name="SettingsPopup" parent="." instance=ExtResource("2_bymub")]
+unique_name_in_owner = true
+visible = false
-[connection signal="pressed" from="VBoxContainer/ExitButton" to="." method="On_ExitButton_Pressed"]
+[connection signal="pressed" from="ResumeBattleButton" to="." method="On_ResumeBattleButton_Pressed"]
+[connection signal="pressed" from="SettingsMenuButton" to="." method="On_SettingsMenuButton_Pressed"]
+[connection signal="pressed" from="EscapeFromBattleButton" to="." method="On_EscapeFromBattleButton_Pressed"]
diff --git a/Components/SettingsMenu.tscn b/Components/SettingsMenu.tscn
index 689b937..3508da7 100644
--- a/Components/SettingsMenu.tscn
+++ b/Components/SettingsMenu.tscn
@@ -2,7 +2,7 @@
[ext_resource type="Script" path="res://Components/SettingsMenu.cs" id="1_b12ly"]
-[node name="VBoxContainer" type="VBoxContainer"]
+[node name="SettingsMenu" type="VBoxContainer"]
script = ExtResource("1_b12ly")
[node name="PauseBattleWhenCharacterIsSelectedCheckBox" type="CheckBox" parent="."]
diff --git a/Components/SettingsPopup.cs b/Components/SettingsPopup.cs
new file mode 100644
index 0000000..794666e
--- /dev/null
+++ b/Components/SettingsPopup.cs
@@ -0,0 +1,14 @@
+namespace CMSGame
+{
+ public partial class SettingsPopup : Popup
+ {
+ public override void _Ready()
+ {
+ }
+
+ public void On_ConfirmButton_Pressed()
+ {
+ Hide();
+ }
+ }
+}
diff --git a/Components/SettingsPopup.tscn b/Components/SettingsPopup.tscn
new file mode 100644
index 0000000..ac5f149
--- /dev/null
+++ b/Components/SettingsPopup.tscn
@@ -0,0 +1,23 @@
+[gd_scene load_steps=3 format=3 uid="uid://dpd2tih2iudvb"]
+
+[ext_resource type="PackedScene" uid="uid://blk2uswpo2a7k" path="res://Components/SettingsMenu.tscn" id="1_573hy"]
+[ext_resource type="Script" path="res://Components/SettingsPopup.cs" id="1_ts6p7"]
+
+[node name="SettingsPopup" type="Popup"]
+size = Vector2i(172, 101)
+visible = true
+script = ExtResource("1_ts6p7")
+
+[node name="VBoxContainer" type="VBoxContainer" parent="."]
+offset_right = 40.0
+offset_bottom = 40.0
+
+[node name="SettingsMenu" parent="VBoxContainer" instance=ExtResource("1_573hy")]
+layout_mode = 2
+
+[node name="ConfirmButton" type="Button" parent="VBoxContainer"]
+unique_name_in_owner = true
+layout_mode = 2
+text = "保存并退出"
+
+[connection signal="pressed" from="VBoxContainer/ConfirmButton" to="." method="On_ConfirmButton_Pressed"]
diff --git a/README.md b/README.md
index ffd586a..39a4732 100644
--- a/README.md
+++ b/README.md
@@ -3,3 +3,11 @@
[](https://godotengine.org/)
- [设计文档](https://docs.qq.com/doc/DTW1FWFFNalZUcXFY)
+
+## 素材
+
+### 图像素材
+
+1. 背景 1920 x 1080
+2. 精灵材质 尺寸尽量采用2的倍数。256 512 1024 2048
+3. 人物需要面对镜头、背对镜头、朝向左侧和朝向右侧四个方向的贴图。在不考虑手性的前提下,朝左和朝右的贴图可以是镜像关系。
diff --git a/Scenes/BattleScene.tscn b/Scenes/BattleScene.tscn
index 3bee9c1..ec7719e 100644
--- a/Scenes/BattleScene.tscn
+++ b/Scenes/BattleScene.tscn
@@ -21,14 +21,14 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
-[node name="LabelBattleTime" type="Label" parent="CanvasLayer/HUD"]
+[node name="BattleTimeLabel" type="Label" parent="CanvasLayer/HUD"]
unique_name_in_owner = true
layout_mode = 1
offset_right = 41.0
offset_bottom = 26.0
text = "00:00"
-[node name="ButtonPauseBattle" type="Button" parent="CanvasLayer/HUD"]
+[node name="PauseBattleButton" type="Button" parent="CanvasLayer/HUD"]
layout_mode = 1
anchors_preset = 7
anchor_left = 0.5
@@ -43,4 +43,4 @@ grow_vertical = 0
focus_mode = 0
text = "按下 Space 暂停时间"
-[connection signal="pressed" from="CanvasLayer/HUD/ButtonPauseBattle" to="." method="On_ButtonPauseBattle_Pressed"]
+[connection signal="pressed" from="CanvasLayer/HUD/PauseBattleButton" to="." method="On_PauseBattleButton_Pressed"]
diff --git a/Scenes/MainScene.cs b/Scenes/MainScene.cs
index b6a6ae0..80b0d52 100644
--- a/Scenes/MainScene.cs
+++ b/Scenes/MainScene.cs
@@ -7,9 +7,9 @@ namespace CMSGame
GetTree().ChangeSceneToFile("res://Scenes/BattleScene.tscn");
}
- public void On_SettingsMenuButtons_Pressed()
+ public void On_SettingsPopupButton_Pressed()
{
- GetNode("%PauseMenu").PopupCentered();
+ GetNode("%SettingsPopup").PopupCentered();
}
public void On_QuitButton_Pressed()
diff --git a/Scenes/MainScene.tscn b/Scenes/MainScene.tscn
index a159672..56dfc13 100644
--- a/Scenes/MainScene.tscn
+++ b/Scenes/MainScene.tscn
@@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://dxnmltew81ny0"]
[ext_resource type="Script" path="res://Scenes/MainScene.cs" id="1_kso8c"]
-[ext_resource type="PackedScene" uid="uid://c1c87rr8eubhg" path="res://Components/PauseMenu.tscn" id="2_txg46"]
+[ext_resource type="PackedScene" uid="uid://dpd2tih2iudvb" path="res://Components/SettingsPopup.tscn" id="2_d0nn6"]
[node name="MainScene" type="Control"]
layout_mode = 3
@@ -12,7 +12,7 @@ grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_kso8c")
-[node name="LabelGameTitle" type="Label" parent="."]
+[node name="GameTitleLabel" type="Label" parent="."]
layout_mode = 1
anchors_preset = 5
anchor_left = 0.5
@@ -37,22 +37,22 @@ offset_bottom = 20.0
grow_horizontal = 2
grow_vertical = 2
-[node name="ButtonBattleDemo" type="Button" parent="VBoxContainer"]
+[node name="BattleDemo1Button" type="Button" parent="VBoxContainer"]
layout_mode = 2
-text = "战斗场景 Demo"
+text = "战斗场景 Demo 1"
-[node name="ButtonSettings" type="Button" parent="VBoxContainer"]
+[node name="SettingsPopupButton" type="Button" parent="VBoxContainer"]
layout_mode = 2
text = "游戏设置"
-[node name="ButtonExit" type="Button" parent="VBoxContainer"]
+[node name="QuitButton" type="Button" parent="VBoxContainer"]
layout_mode = 2
text = "退出"
-[node name="PauseMenu" parent="." instance=ExtResource("2_txg46")]
+[node name="SettingsPopup" parent="." instance=ExtResource("2_d0nn6")]
unique_name_in_owner = true
visible = false
-[connection signal="pressed" from="VBoxContainer/ButtonBattleDemo" to="." method="On_ButtonBattleDemo_Pressed"]
-[connection signal="pressed" from="VBoxContainer/ButtonSettings" to="." method="On_ButtonSettings_Pressed"]
-[connection signal="pressed" from="VBoxContainer/ButtonExit" to="." method="On_ButtonExit_Pressed"]
+[connection signal="pressed" from="VBoxContainer/BattleDemo1Button" to="." method="On_BattleDemo1Button_Pressed"]
+[connection signal="pressed" from="VBoxContainer/SettingsPopupButton" to="." method="On_SettingsPopupButton_Pressed"]
+[connection signal="pressed" from="VBoxContainer/QuitButton" to="." method="On_QuitButton_Pressed"]
diff --git a/export_presets.cfg b/export_presets.cfg
new file mode 100644
index 0000000..c9a8531
--- /dev/null
+++ b/export_presets.cfg
@@ -0,0 +1,66 @@
+[preset.0]
+
+name="Windows Desktop"
+platform="Windows Desktop"
+runnable=true
+dedicated_server=false
+custom_features=""
+export_filter="all_resources"
+include_filter=""
+exclude_filter=""
+export_path="Temp/Exports/CMSGame.exe"
+encryption_include_filters=""
+encryption_exclude_filters=""
+encrypt_pck=false
+encrypt_directory=false
+script_encryption_key=""
+
+[preset.0.options]
+
+custom_template/debug=""
+custom_template/release=""
+debug/export_console_script=1
+binary_format/embed_pck=false
+texture_format/bptc=false
+texture_format/s3tc=true
+texture_format/etc=false
+texture_format/etc2=false
+texture_format/no_bptc_fallbacks=true
+binary_format/architecture="x86_64"
+codesign/enable=false
+codesign/identity_type=0
+codesign/identity=""
+codesign/password=""
+codesign/timestamp=true
+codesign/timestamp_server_url=""
+codesign/digest_algorithm=1
+codesign/description=""
+codesign/custom_options=PackedStringArray()
+application/modify_resources=true
+application/icon=""
+application/console_wrapper_icon=""
+application/icon_interpolation=4
+application/file_version="1.0.0.0"
+application/product_version="1.0.0.0"
+application/company_name="CMSGame Developers"
+application/product_name="CMSGame"
+application/file_description="The Country of Mountains and Seas"
+application/copyright="CMSGame Developers"
+application/trademarks="CMSGame"
+ssh_remote_deploy/enabled=false
+ssh_remote_deploy/host="user@host_ip"
+ssh_remote_deploy/port="22"
+ssh_remote_deploy/extra_args_ssh=""
+ssh_remote_deploy/extra_args_scp=""
+ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
+$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
+$trigger = New-ScheduledTaskTrigger -Once -At 00:00
+$settings = New-ScheduledTaskSettingsSet
+$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
+Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
+Start-ScheduledTask -TaskName godot_remote_debug
+while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
+Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
+ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
+Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
+Remove-Item -Recurse -Force '{temp_dir}'"