From a4575ede6f81cf916dc09b332c936c92b386c710 Mon Sep 17 00:00:00 2001 From: lightyears Date: Sun, 19 Feb 2023 00:13:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=A7=8B=E5=B9=B2=E6=B4=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Components/BattleCharacter.cs | 3 ++ Components/BattleCharacter.tscn | 21 ++++++++++++++ Components/PauseMenu.cs | 15 ++++++++++ Components/PauseMenu.tscn | 37 ++++++++++++++++++++++++ Components/PrebattleMenu.tscn | 35 ++++++++++++++++++++++ Scenes/Battle.cs | 40 ++++++++++++++++++++++++++ Scenes/Battle.tscn | 51 +++++++++++++++++++++++++++++++++ Scenes/Main.cs | 13 --------- Scenes/Main.tscn | 35 +++++++++++++++++++--- Scripts/Character.cs | 18 ++++++++++++ Scripts/Settings.cs | 4 +++ Scripts/TimeHelper.cs | 6 ++++ project.godot | 20 ++++++++++++- 13 files changed, 280 insertions(+), 18 deletions(-) create mode 100644 Components/BattleCharacter.cs create mode 100644 Components/BattleCharacter.tscn create mode 100644 Components/PauseMenu.cs create mode 100644 Components/PauseMenu.tscn create mode 100644 Components/PrebattleMenu.tscn create mode 100644 Scenes/Battle.cs create mode 100644 Scenes/Battle.tscn create mode 100644 Scripts/Character.cs create mode 100644 Scripts/Settings.cs create mode 100644 Scripts/TimeHelper.cs diff --git a/Components/BattleCharacter.cs b/Components/BattleCharacter.cs new file mode 100644 index 0000000..c6b2faa --- /dev/null +++ b/Components/BattleCharacter.cs @@ -0,0 +1,3 @@ +public partial class BattleCharacter : Sprite2D +{ +} diff --git a/Components/BattleCharacter.tscn b/Components/BattleCharacter.tscn new file mode 100644 index 0000000..f34bc5e --- /dev/null +++ b/Components/BattleCharacter.tscn @@ -0,0 +1,21 @@ +[gd_scene load_steps=3 format=3 uid="uid://be4dnt701hcsv"] + +[ext_resource type="Texture2D" uid="uid://dgl6fv3okxuoc" path="res://Assets/Characters/1.png" id="1_wpp45"] +[ext_resource type="Script" path="res://Components/BattleCharacter.cs" id="2_upe33"] + +[node name="BattleCharacter" type="Sprite2D"] +texture = ExtResource("1_wpp45") +script = ExtResource("2_upe33") + +[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."] + +[node name="LabelName" type="Label" parent="."] +anchors_preset = 4 +anchor_top = 0.5 +anchor_bottom = 0.5 +offset_left = -128.0 +offset_top = -165.5 +offset_right = -81.0 +offset_bottom = -139.5 +grow_vertical = 2 +text = "Name" diff --git a/Components/PauseMenu.cs b/Components/PauseMenu.cs new file mode 100644 index 0000000..d68b39a --- /dev/null +++ b/Components/PauseMenu.cs @@ -0,0 +1,15 @@ +public partial class PauseMenu : Control +{ + private GameSettings _settings; + + public override void _Ready() + { + _settings = GetNode("/root/GameSettings"); + GetNode("%CheckBoxPauseBattleWhenCharacterIsSelected").ToggleMode = _settings.PauseBattleWhenCharacterIsSelected; + } + + public void On_CheckBoxPauseBattleWhenCharacterIsSelected_Toggled() + { + _settings.PauseBattleWhenCharacterIsSelected = false; + } +} diff --git a/Components/PauseMenu.tscn b/Components/PauseMenu.tscn new file mode 100644 index 0000000..eb94fb2 --- /dev/null +++ b/Components/PauseMenu.tscn @@ -0,0 +1,37 @@ +[gd_scene load_steps=2 format=3 uid="uid://c1c87rr8eubhg"] + +[ext_resource type="Script" path="res://Components/PauseMenu.cs" id="1_p1e8d"] + +[node name="PauseMenu" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_p1e8d") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -20.0 +offset_top = -20.0 +offset_right = 20.0 +offset_bottom = 20.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="CheckBoxPauseBattleWhenCharacterIsSelected" type="CheckBox" parent="VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +text = "选中角色时暂停战斗" + +[node name="ButtonExit" type="Button" parent="VBoxContainer"] +layout_mode = 2 +text = "退出" + +[connection signal="toggled" from="VBoxContainer/CheckBoxPauseBattleWhenCharacterIsSelected" to="." method="_On_CheckBoxPauseBattleWhenCharacterIsSelected_Toggled"] diff --git a/Components/PrebattleMenu.tscn b/Components/PrebattleMenu.tscn new file mode 100644 index 0000000..c471e1d --- /dev/null +++ b/Components/PrebattleMenu.tscn @@ -0,0 +1,35 @@ +[gd_scene format=3 uid="uid://blobono0y4pqs"] + +[node name="PrebattleMenu" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -20.0 +offset_top = -20.0 +offset_right = 20.0 +offset_bottom = 20.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="ButtonPrepare" type="Button" parent="VBoxContainer"] +layout_mode = 2 +text = "战前准备" + +[node name="ButtonStart" type="Button" parent="VBoxContainer"] +layout_mode = 2 +text = "开始战斗" + +[node name="ButtonEscape" type="Button" parent="VBoxContainer"] +layout_mode = 2 +text = "逃跑" diff --git a/Scenes/Battle.cs b/Scenes/Battle.cs new file mode 100644 index 0000000..06ce8b4 --- /dev/null +++ b/Scenes/Battle.cs @@ -0,0 +1,40 @@ +public partial class Battle : Control +{ + private Label _labelBattleTime; + + public double Time; + + public bool IsPause = false; + + public override void _Ready() + { + _labelBattleTime = GetNode