diff --git a/DungeonShooting_Godot/DungeonShooting.csproj b/DungeonShooting_Godot/DungeonShooting.csproj index 1c6b311..ef9302f 100644 --- a/DungeonShooting_Godot/DungeonShooting.csproj +++ b/DungeonShooting_Godot/DungeonShooting.csproj @@ -1,4 +1,4 @@ - + net6.0 true diff --git a/DungeonShooting_Godot/DungeonShooting.csproj.old.3 b/DungeonShooting_Godot/DungeonShooting.csproj.old.3 new file mode 100644 index 0000000..1c6b311 --- /dev/null +++ b/DungeonShooting_Godot/DungeonShooting.csproj.old.3 @@ -0,0 +1,11 @@ + + + net6.0 + true + + + + + + + \ No newline at end of file diff --git a/DungeonShooting_Godot/excel/excelFile/ActivityObject.xlsx b/DungeonShooting_Godot/excel/excelFile/ActivityObject.xlsx index f016fc3..ac61ddd 100644 --- a/DungeonShooting_Godot/excel/excelFile/ActivityObject.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/ActivityObject.xlsx Binary files differ diff --git a/DungeonShooting_Godot/excel/excelFile/Sound.xlsx b/DungeonShooting_Godot/excel/excelFile/Sound.xlsx index 46ebb13..0b704d3 100644 --- a/DungeonShooting_Godot/excel/excelFile/Sound.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/Sound.xlsx Binary files differ diff --git a/DungeonShooting_Godot/excel/excelFile/Weapon.xlsx b/DungeonShooting_Godot/excel/excelFile/Weapon.xlsx index 6d09cbe..1a85c8a 100644 --- a/DungeonShooting_Godot/excel/excelFile/Weapon.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/Weapon.xlsx Binary files differ diff --git a/DungeonShooting_Godot/prefab/ui/BottomTips.tscn b/DungeonShooting_Godot/prefab/ui/BottomTips.tscn index 64914ab..e859f6a 100644 --- a/DungeonShooting_Godot/prefab/ui/BottomTips.tscn +++ b/DungeonShooting_Godot/prefab/ui/BottomTips.tscn @@ -4,6 +4,7 @@ [ext_resource type="Texture2D" uid="uid://bls55gj8h3mgv" path="res://resource/sprite/prop/buff/Buff0001.png" id="2_gaykt"] [sub_resource type="LabelSettings" id="LabelSettings_xtn1u"] +line_spacing = 8.0 font_size = 32 [node name="BottomTips" type="Control"] @@ -11,8 +12,13 @@ anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 mouse_filter = 2 script = ExtResource("1_c63vs") +Layer = 3 +Mode = 1 +metadata/_edit_vertical_guides_ = [960.0] [node name="Panel" type="PanelContainer" parent="."] layout_mode = 1 @@ -21,10 +27,10 @@ anchor_top = 1.0 anchor_right = 0.5 anchor_bottom = 1.0 -offset_left = -78.5 -offset_top = -93.0 -offset_right = 78.5 -offset_bottom = -9.0 +offset_left = -134.5 +offset_top = 38.0 +offset_right = 141.5 +offset_bottom = 122.0 grow_horizontal = 2 grow_vertical = 0 mouse_filter = 2 @@ -46,7 +52,7 @@ layout_mode = 2 size_flags_vertical = 4 mouse_filter = 2 -theme_override_constants/separation = 9 +theme_override_constants/separation = 16 [node name="AspectRatioContainer" type="AspectRatioContainer" parent="Panel/MarginContainer/CenterContainer/HBoxContainer"] custom_minimum_size = Vector2(64, 64) @@ -60,7 +66,7 @@ [node name="Label" type="Label" parent="Panel/MarginContainer/CenterContainer/HBoxContainer"] layout_mode = 2 -text = "0" +text = "提示内容" label_settings = SubResource("LabelSettings_xtn1u") horizontal_alignment = 1 vertical_alignment = 1 diff --git a/DungeonShooting_Godot/resource/config/ActivityObject.json b/DungeonShooting_Godot/resource/config/ActivityObject.json index a70178d..a7587d5 100644 --- a/DungeonShooting_Godot/resource/config/ActivityObject.json +++ b/DungeonShooting_Godot/resource/config/ActivityObject.json @@ -101,27 +101,27 @@ "Id": "prop0001", "Type": 9, "Name": "\u978B\u5B50", - "Remark": "\u589E\u52A0\u79FB\u901F\u7684buff", + "Remark": "\u63D0\u9AD8\u79FB\u52A8\u901F\u5EA6", "Prefab": "res://prefab/prop/buff/Buff0001.tscn" }, { "Id": "prop0002", "Type": 9, "Name": "\u5FC3\u4E4B\u5BB9\u5668", - "Remark": "\u589E\u52A0\u8840\u91CF\u4E0A\u9650", + "Remark": "\u63D0\u9AD8\u8840\u91CF\u4E0A\u9650", "Prefab": "res://prefab/prop/buff/Buff0002.tscn" }, { "Id": "prop0003", "Type": 9, "Name": "\u62A4\u76FE", - "Remark": "\u589E\u52A0\u62A4\u76FE\u4E0A\u9650", + "Remark": "\u53EF\u4EE5\u62B5\u6321\u5B50\u5F39\uFF0C\u968F\u65F6\u95F4\u63A8\u79FB\u81EA\u52A8\u6062\u590D", "Prefab": "res://prefab/prop/buff/Buff0003.tscn" }, { "Id": "prop0004", "Type": 9, - "Name": "\u62A4\u76FE\u5FEB\u901F\u6062\u590D", + "Name": "\u62A4\u76FE\u8BA1\u65F6\u5668", "Remark": "\u63D0\u9AD8\u62A4\u76FE\u6062\u590D\u901F\u5EA6", "Prefab": "res://prefab/prop/buff/Buff0004.tscn" }, @@ -135,14 +135,14 @@ { "Id": "prop0006", "Type": 9, - "Name": "\u52A0\u5F3A\u65E0\u654C\u65F6\u95F4", + "Name": "\u7EA2\u5B9D\u77F3\u6212\u6307", "Remark": "\u53D7\u4F24\u540E\u5EF6\u957F\u65E0\u654C\u65F6\u95F4", "Prefab": "res://prefab/prop/buff/Buff0006.tscn" }, { "Id": "prop0007", "Type": 9, - "Name": "\u62B5\u6D88\u4F24\u5BB3\u7684\u62A4\u76FE", + "Name": "\u5907\u7528\u62A4\u76FE", "Remark": "\u53D7\u4F24\u65F6\u6709\u4E00\u5B9A\u6982\u7387\u62B5\u6D88\u4F24\u5BB3", "Prefab": "res://prefab/prop/buff/Buff0007.tscn" }, diff --git a/DungeonShooting_Godot/resource/theme/mainTheme.tres b/DungeonShooting_Godot/resource/theme/mainTheme.tres index f91257c..964879f 100644 --- a/DungeonShooting_Godot/resource/theme/mainTheme.tres +++ b/DungeonShooting_Godot/resource/theme/mainTheme.tres @@ -352,7 +352,7 @@ [sub_resource type="ImageTexture" id="58"] -[sub_resource type="Image" id="Image_u2mbh"] +[sub_resource type="Image" id="Image_3bquq"] data = { "data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 1, 255, 255, 255, 39, 255, 255, 255, 67, 255, 255, 255, 67, 255, 255, 255, 39, 255, 255, 255, 1, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 39, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 39, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 66, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 66, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 66, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 66, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 39, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 39, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 1, 255, 255, 255, 39, 255, 255, 255, 67, 255, 255, 255, 67, 255, 255, 255, 39, 255, 255, 255, 1, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), "format": "RGBA8", @@ -362,7 +362,7 @@ } [sub_resource type="ImageTexture" id="60"] -image = SubResource("Image_u2mbh") +image = SubResource("Image_3bquq") [sub_resource type="StyleBoxTexture" id="61"] content_margin_left = 2.0 @@ -372,7 +372,7 @@ texture = SubResource("60") region_rect = Rect2(0, 0, 12, 12) -[sub_resource type="Image" id="Image_r43g7"] +[sub_resource type="Image" id="Image_k64s6"] data = { "data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 0, 247, 247, 247, 0, 248, 248, 248, 0, 248, 248, 248, 0, 247, 247, 247, 0, 191, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 0, 191, 191, 191, 4, 247, 247, 247, 98, 248, 248, 248, 167, 248, 248, 248, 167, 247, 247, 247, 98, 191, 191, 191, 4, 191, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 247, 247, 0, 247, 247, 247, 97, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 247, 247, 247, 97, 247, 247, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 248, 248, 0, 248, 248, 248, 164, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 164, 248, 248, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 248, 248, 0, 248, 248, 248, 164, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 164, 248, 248, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 247, 247, 0, 247, 247, 247, 97, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 247, 247, 247, 97, 247, 247, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 0, 191, 191, 191, 4, 247, 247, 247, 98, 248, 248, 248, 167, 248, 248, 248, 167, 247, 247, 247, 98, 191, 191, 191, 4, 191, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 0, 247, 247, 247, 0, 248, 248, 248, 0, 248, 248, 248, 0, 247, 247, 247, 0, 191, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), "format": "RGBA8", @@ -382,7 +382,7 @@ } [sub_resource type="ImageTexture" id="63"] -image = SubResource("Image_r43g7") +image = SubResource("Image_k64s6") [sub_resource type="StyleBoxTexture" id="64"] content_margin_left = 2.0 @@ -392,7 +392,7 @@ texture = SubResource("63") region_rect = Rect2(0, 0, 12, 12) -[sub_resource type="Image" id="Image_pk0j8"] +[sub_resource type="Image" id="Image_yqyxc"] data = { "data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 127, 0, 173, 173, 173, 0, 173, 173, 173, 0, 173, 173, 173, 0, 173, 173, 173, 0, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 127, 0, 127, 127, 127, 4, 173, 173, 173, 97, 173, 173, 173, 166, 173, 173, 173, 166, 173, 173, 173, 97, 127, 127, 127, 4, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 172, 172, 0, 172, 172, 172, 96, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 172, 172, 172, 96, 172, 172, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 173, 173, 0, 173, 173, 173, 163, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 163, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 173, 173, 0, 173, 173, 173, 163, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 163, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 172, 172, 0, 172, 172, 172, 96, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 172, 172, 172, 96, 172, 172, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 127, 0, 127, 127, 127, 4, 173, 173, 173, 97, 173, 173, 173, 166, 173, 173, 173, 166, 173, 173, 173, 97, 127, 127, 127, 4, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 127, 0, 173, 173, 173, 0, 173, 173, 173, 0, 173, 173, 173, 0, 173, 173, 173, 0, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), "format": "RGBA8", @@ -402,7 +402,7 @@ } [sub_resource type="ImageTexture" id="66"] -image = SubResource("Image_pk0j8") +image = SubResource("Image_yqyxc") [sub_resource type="StyleBoxTexture" id="67"] content_margin_left = 2.0 @@ -412,7 +412,7 @@ texture = SubResource("66") region_rect = Rect2(0, 0, 12, 12) -[sub_resource type="Image" id="Image_d2ao3"] +[sub_resource type="Image" id="Image_8yymi"] data = { "data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 16, 255, 255, 255, 16, 255, 255, 255, 4, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 16, 255, 255, 255, 21, 255, 255, 255, 21, 255, 255, 255, 16, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 16, 255, 255, 255, 21, 255, 255, 255, 21, 255, 255, 255, 16, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 16, 255, 255, 255, 16, 255, 255, 255, 4, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), "format": "RGBA8", @@ -422,7 +422,7 @@ } [sub_resource type="ImageTexture" id="69"] -image = SubResource("Image_d2ao3") +image = SubResource("Image_8yymi") [sub_resource type="StyleBoxTexture" id="70"] content_margin_left = 0.0 @@ -446,7 +446,7 @@ content_margin_right = 4.0 content_margin_bottom = 4.0 -[sub_resource type="Image" id="Image_ehced"] +[sub_resource type="Image" id="Image_0f2x1"] data = { "data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 76, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 76, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 76, 255, 255, 255, 228, 255, 255, 255, 188, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 188, 255, 255, 255, 228, 255, 255, 255, 76, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 18, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 187, 255, 255, 255, 17, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 187, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 18, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 185, 255, 255, 255, 17, 255, 255, 255, 17, 255, 255, 255, 186, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 190, 255, 255, 255, 229, 255, 255, 255, 185, 255, 255, 255, 185, 255, 255, 255, 229, 255, 255, 255, 189, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 191, 255, 255, 255, 229, 255, 255, 255, 229, 255, 255, 255, 190, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 187, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 187, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 18, 255, 255, 255, 19, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 186, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 185, 255, 255, 255, 229, 255, 255, 255, 189, 255, 255, 255, 19, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 189, 255, 255, 255, 229, 255, 255, 255, 185, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 76, 255, 255, 255, 229, 255, 255, 255, 190, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 190, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 77, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 77, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), "format": "RGBA8", @@ -456,7 +456,7 @@ } [sub_resource type="ImageTexture" id="56"] -image = SubResource("Image_ehced") +image = SubResource("Image_0f2x1") [sub_resource type="StyleBoxFlat" id="57"] content_margin_left = 6.0 diff --git a/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs b/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs index f427088..6d84ded 100644 --- a/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs +++ b/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs @@ -1422,7 +1422,8 @@ { if (AffiliationArea == null) { - GD.PrintErr($"调用函数: BecomesStaticImage() 失败, 物体{Name}没有归属区域, 无法确定绘制到哪个ImageCanvas上"); + GD.PrintErr($"调用函数: BecomesStaticImage() 失败, 物体{Name}没有归属区域, 无法确定绘制到哪个ImageCanvas上, 直接执行销毁"); + Destroy(); return; } diff --git a/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs b/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs index 08962d5..22e31f1 100644 --- a/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs +++ b/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs @@ -82,21 +82,21 @@ public const string Id_effect0001 = "effect0001"; /// /// 名称: 鞋子
- /// 备注: 增加移速的buff + /// 备注: 提高移动速度 ///
public const string Id_prop0001 = "prop0001"; /// /// 名称: 心之容器
- /// 备注: 增加血量上限 + /// 备注: 提高血量上限 ///
public const string Id_prop0002 = "prop0002"; /// /// 名称: 护盾
- /// 备注: 增加护盾上限 + /// 备注: 可以抵挡子弹,随时间推移自动恢复 ///
public const string Id_prop0003 = "prop0003"; /// - /// 名称: 护盾快速恢复
+ /// 名称: 护盾计时器
/// 备注: 提高护盾恢复速度 ///
public const string Id_prop0004 = "prop0004"; @@ -106,12 +106,12 @@ /// public const string Id_prop0005 = "prop0005"; /// - /// 名称: 加强无敌时间
+ /// 名称: 红宝石戒指
/// 备注: 受伤后延长无敌时间 ///
public const string Id_prop0006 = "prop0006"; /// - /// 名称: 抵消伤害的护盾
+ /// 名称: 备用护盾
/// 备注: 受伤时有一定概率抵消伤害 ///
public const string Id_prop0007 = "prop0007"; diff --git a/DungeonShooting_Godot/src/game/AnimatorNames.cs b/DungeonShooting_Godot/src/game/AnimatorNames.cs index 5ea58e8..bbe65d1 100644 --- a/DungeonShooting_Godot/src/game/AnimatorNames.cs +++ b/DungeonShooting_Godot/src/game/AnimatorNames.cs @@ -48,4 +48,12 @@ /// 子弹上膛 /// public const string BeLoaded = "beLoaded"; + /// + /// ui入场 + /// + public const string In = "in"; + /// + /// ui出场 + /// + public const string Out = "out"; } \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/GameApplication.cs b/DungeonShooting_Godot/src/game/GameApplication.cs index bdf0188..517953c 100644 --- a/DungeonShooting_Godot/src/game/GameApplication.cs +++ b/DungeonShooting_Godot/src/game/GameApplication.cs @@ -5,6 +5,7 @@ using System.Text.Json; using Config; using Godot; +using UI.BottomTips; public partial class GameApplication : Node2D { @@ -130,6 +131,8 @@ DungeonManager = new DungeonManager(); DungeonManager.Name = "DungeonManager"; SceneRoot.AddChild(DungeonManager); + + BottomTipsPanel.Init(); //打开主菜单Ui UiManager.Open_Main(); } diff --git a/DungeonShooting_Godot/src/game/activity/prop/buff/Buff.cs b/DungeonShooting_Godot/src/game/activity/prop/buff/Buff.cs index f1cbaf3..1afa4d7 100644 --- a/DungeonShooting_Godot/src/game/activity/prop/buff/Buff.cs +++ b/DungeonShooting_Godot/src/game/activity/prop/buff/Buff.cs @@ -27,7 +27,7 @@ { Pickup(); Master = role; - role.PushBuff(this); + role.PushProp(this); OnPickUp(role); } } diff --git a/DungeonShooting_Godot/src/game/activity/role/Player.cs b/DungeonShooting_Godot/src/game/activity/role/Player.cs index db1e0f9..24d432b 100644 --- a/DungeonShooting_Godot/src/game/activity/role/Player.cs +++ b/DungeonShooting_Godot/src/game/activity/role/Player.cs @@ -130,6 +130,33 @@ //播放动画 PlayAnim(); } + + public override bool PickUpWeapon(Weapon weapon, bool exchange = true) + { + //拾起武器 + var result = base.PickUpWeapon(weapon, exchange); + if (result) + { + EventManager.EmitEvent(EventEnum.OnPlayerPickUpWeapon, weapon); + } + return result; + } + + public override void ThrowWeapon() + { + //扔掉武器 + var weapon = Holster.ActiveWeapon; + base.ThrowWeapon(); + EventManager.EmitEvent(EventEnum.OnPlayerThrowWeapon, weapon); + } + + public override void ThrowWeapon(int index) + { + //扔掉武器 + var weapon = Holster.GetWeapon(index); + base.ThrowWeapon(index); + EventManager.EmitEvent(EventEnum.OnPlayerThrowWeapon, weapon); + } protected override int OnHandlerHurt(int damage) { diff --git a/DungeonShooting_Godot/src/game/activity/role/Role.cs b/DungeonShooting_Godot/src/game/activity/role/Role.cs index 79befdd..5bc0694 100644 --- a/DungeonShooting_Godot/src/game/activity/role/Role.cs +++ b/DungeonShooting_Godot/src/game/activity/role/Role.cs @@ -38,10 +38,10 @@ /// public uint AttackLayer { get; set; } = PhysicsLayer.Wall; - // /// - // /// 携带的道具包裹 - // /// - // public List PropsPack { get; } = new List(); + /// + /// 携带的道具包裹 + /// + public List PropsPack { get; } = new List(); /// /// 角色携带的武器袋 @@ -202,7 +202,7 @@ //初始缩放 private Vector2 _startScale; - //所有角色碰撞的道具 + //所有角色碰撞的物体 private readonly List _interactiveItemList = new List(); private CheckInteractiveResult _tempResultData; @@ -217,7 +217,7 @@ private float _shieldRecoveryTimer = 0; /// - /// 可以互动的道具 + /// 可以互动的物体 /// public ActivityObject InteractiveItem { get; private set; } @@ -326,7 +326,7 @@ MountPoint.SetLookAt(pos); } - //检查可互动的道具 + //检查可互动的物体 bool findFlag = false; for (int i = 0; i < _interactiveItemList.Count; i++) { @@ -337,7 +337,7 @@ } else { - //找到可互动的道具了 + //找到可互动的物体了 if (!findFlag) { var result = item.CheckInteractive(this); @@ -358,7 +358,7 @@ } } } - //没有可互动的道具 + //没有可互动的物体 if (!findFlag && InteractiveItem != null) { InteractiveItem = null; @@ -757,11 +757,17 @@ } /// - /// 添加被动 + /// 添加道具 /// /// - public void PushBuff(Buff buff) + public void PushProp(Buff buff) { - + if (PropsPack.Contains(buff)) + { + GD.PrintErr("道具已经在包裹中了!"); + return; + } + PropsPack.Add(buff); + EventManager.EmitEvent(EventEnum.OnPlayerPickUpProp, buff); } } \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/event/EventEnum.cs b/DungeonShooting_Godot/src/game/event/EventEnum.cs index cf97ec2..75274c6 100644 --- a/DungeonShooting_Godot/src/game/event/EventEnum.cs +++ b/DungeonShooting_Godot/src/game/event/EventEnum.cs @@ -37,6 +37,23 @@ /// OnPlayerMaxShieldChange, /// + /// 玩家拾起武器, 参数为 + /// + OnPlayerPickUpWeapon, + /// + /// 玩家丢弃武器, 参数为 + /// + OnPlayerThrowWeapon, + /// + /// 玩家拾起道具, 参数为 + /// + OnPlayerPickUpProp, + /// + /// 玩家丢弃道具, 参数为 + /// + OnPlayerThrowProp, + + /// /// 当玩家进入地牢时调用, 没有参数 /// OnEnterDungeon, diff --git a/DungeonShooting_Godot/src/game/ui/bottomTips/BottomTipsPanel.cs b/DungeonShooting_Godot/src/game/ui/bottomTips/BottomTipsPanel.cs index 13c6010..cdfe7dc 100644 --- a/DungeonShooting_Godot/src/game/ui/bottomTips/BottomTipsPanel.cs +++ b/DungeonShooting_Godot/src/game/ui/bottomTips/BottomTipsPanel.cs @@ -1,17 +1,26 @@ +using System.Collections; using Godot; namespace UI.BottomTips; public partial class BottomTipsPanel : BottomTips { + private long _id = -1; + + private float _offsetY; + //动画播放时间 + private float _animationTime = 0.5f; + //动画移动的像素 + private int _movePixel = 153; + public override void OnCreateUi() { - L_Panel.Instance.Resized += OnPanelResized; + _offsetY = L_Panel.Instance.Position.Y - (Position.Y + Size.Y); } public override void OnShowUi() { - L_Panel.L_MarginContainer.L_CenterContainer.L_HBoxContainer.L_Label.Instance.Text = "提示内容"; + } public override void OnHideUi() @@ -19,16 +28,105 @@ } - public override void OnDisposeUi() + /// + /// 执行入场流程 + /// + public void PlayInStep(Texture2D icon, string message) { - L_Panel.Instance.Resized += OnPanelResized; + if (_id >= 0) + { + StopCoroutine(_id); + HideUi(); + } + _id = StartCoroutine(RunAnimation(icon, message)); } - private void OnPanelResized() + /// + /// 设置图标 + /// + public void SetIcon(Texture2D icon) { - var pivotOffset = L_Panel.Instance.PivotOffset; - pivotOffset.X = L_Panel.Instance.Size.X / 2; - L_Panel.Instance.PivotOffset = pivotOffset; + L_Panel.L_MarginContainer.L_CenterContainer.L_HBoxContainer.L_AspectRatioContainer.L_TextureRect.Instance + .Texture = icon; + } + + /// + /// 设置文本内容 + /// + public void SetMessage(string message) + { + L_Panel.L_MarginContainer.L_CenterContainer.L_HBoxContainer.L_Label.Instance.Text = message; } + private IEnumerator RunAnimation(Texture2D icon, string message) + { + //还原位置 + var pos = L_Panel.Instance.Position; + pos.Y = Position.Y + Size.Y + _offsetY; + L_Panel.Instance.Position = pos; + + SetIcon(icon); + SetMessage(message); + + yield return 0; + ShowUi(); + L_Panel.Instance.ResetSize(); + yield return 0; + //重新计算中心点 + pos.X = Size.X / 2 - L_Panel.Instance.Size.X / 2; + L_Panel.Instance.Position = pos; + yield return 0; + + //向上移动 + var frame = 60 * _animationTime; + var stepPixel = _movePixel / frame; + for (var i = 0; i < frame; i++) + { + pos.X = L_Panel.Instance.Position.X; + pos.Y -= stepPixel; + L_Panel.Instance.Position = pos; + yield return 0; + } + + yield return new WaitForSeconds(3.5f); + + //向下移动 + for (var i = 0; i < frame; i++) + { + pos.X = L_Panel.Instance.Position.X; + pos.Y += stepPixel; + L_Panel.Instance.Position = pos; + yield return 0; + } + + HideUi(); + _id = -1; + } + + private static BottomTipsPanel _instance; + public static void Init() + { + _instance = UiManager.Open_BottomTips(); + _instance.HideUi(); + } + + /// + /// 打开Tips, 并设置图标和内容 + /// + /// 显示图标 + /// 显示消息 + public static void ShowTips(string icon, string message) + { + ShowTips(ResourceManager.Load(icon), message); + } + + /// + /// 打开Tips, 并设置图标和内容 + /// + /// 显示图标 + /// 显示消息 + public static void ShowTips(Texture2D icon, string message) + { + _instance.PlayInStep(icon, message); + } } diff --git a/DungeonShooting_Godot/src/game/ui/main/MainPanel.cs b/DungeonShooting_Godot/src/game/ui/main/MainPanel.cs index 14e04e6..0c0b36b 100644 --- a/DungeonShooting_Godot/src/game/ui/main/MainPanel.cs +++ b/DungeonShooting_Godot/src/game/ui/main/MainPanel.cs @@ -9,8 +9,6 @@ { L_ButtonList.L_Start.Instance.Pressed += OnStartGameClick; L_ButtonList.L_Exit.Instance.Pressed += OnExitClick; - - UiManager.Open_BottomTips(); } public override void OnHideUi() diff --git a/DungeonShooting_Godot/src/game/ui/roomUI/RoomUIPanel.cs b/DungeonShooting_Godot/src/game/ui/roomUI/RoomUIPanel.cs index 7401d92..26ea940 100644 --- a/DungeonShooting_Godot/src/game/ui/roomUI/RoomUIPanel.cs +++ b/DungeonShooting_Godot/src/game/ui/roomUI/RoomUIPanel.cs @@ -1,5 +1,6 @@ using Godot; +using UI.BottomTips; namespace UI.RoomUI; @@ -12,6 +13,7 @@ private InteractiveTipBar _interactiveTipBar; private GunBar _gunBar; private LifeBar _lifeBar; + private EventFactory _factory; public override void OnCreateUi() { @@ -27,6 +29,9 @@ _interactiveTipBar.OnShow(); _gunBar.OnShow(); _lifeBar.OnShow(); + + _factory = EventManager.CreateEventFactory(); + _factory.AddEventListener(EventEnum.OnPlayerPickUpProp, OnPlayerPickUpProp); } public override void OnHideUi() @@ -35,6 +40,9 @@ _interactiveTipBar.OnHide(); _gunBar.OnHide(); _lifeBar.OnHide(); + + _factory.RemoveAllEventListener(); + _factory = null; } public void InitData() @@ -47,4 +55,12 @@ _gunBar.Process(delta); _lifeBar.Process(delta); } + + //玩家拾起道具, 弹出提示 + private void OnPlayerPickUpProp(object propObj) + { + var prop = (Prop)propObj; + var message = $"{prop.ItemConfig.Name}\n{prop.ItemConfig.Remark}"; + BottomTipsPanel.ShowTips(prop.GetDefaultTexture(), message); + } } \ No newline at end of file