diff --git a/DungeonShooting_Godot/excel/excelFile/ActivityBase.xlsx b/DungeonShooting_Godot/excel/excelFile/ActivityBase.xlsx index 818426b..1d48dde 100644 --- a/DungeonShooting_Godot/excel/excelFile/ActivityBase.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/ActivityBase.xlsx Binary files differ diff --git a/DungeonShooting_Godot/excel/excelFile/ActivityMaterial.xlsx b/DungeonShooting_Godot/excel/excelFile/ActivityMaterial.xlsx index 8f9e321..fbe2bac 100644 --- a/DungeonShooting_Godot/excel/excelFile/ActivityMaterial.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/ActivityMaterial.xlsx Binary files differ diff --git a/DungeonShooting_Godot/excel/excelFile/AiAttackAttr.xlsx b/DungeonShooting_Godot/excel/excelFile/AiAttackAttr.xlsx index 2aefd57..73f833f 100644 --- a/DungeonShooting_Godot/excel/excelFile/AiAttackAttr.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/AiAttackAttr.xlsx Binary files differ diff --git a/DungeonShooting_Godot/excel/excelFile/BulletBase.xlsx b/DungeonShooting_Godot/excel/excelFile/BulletBase.xlsx index eb1663d..710727d 100644 --- a/DungeonShooting_Godot/excel/excelFile/BulletBase.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/BulletBase.xlsx Binary files differ diff --git a/DungeonShooting_Godot/excel/excelFile/Sound.xlsx b/DungeonShooting_Godot/excel/excelFile/Sound.xlsx index 18536a3..36b0dda 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/WeaponBase.xlsx b/DungeonShooting_Godot/excel/excelFile/WeaponBase.xlsx index def9693..2ae295c 100644 --- a/DungeonShooting_Godot/excel/excelFile/WeaponBase.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/WeaponBase.xlsx Binary files differ diff --git a/DungeonShooting_Godot/prefab/effect/enemy/EbenyDead0001.tscn b/DungeonShooting_Godot/prefab/effect/enemy/EbenyDead0001.tscn new file mode 100644 index 0000000..a73e62c --- /dev/null +++ b/DungeonShooting_Godot/prefab/effect/enemy/EbenyDead0001.tscn @@ -0,0 +1,205 @@ +[gd_scene load_steps=31 format=3 uid="uid://pr88a1phtxgb"] + +[ext_resource type="Script" path="res://src/game/effects/enemy/EnemyDead0001.cs" id="1_1re5v"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_s7bee"] +[ext_resource type="Texture2D" uid="uid://cn64eauvwx1uj" path="res://resource/sprite/role/enemy0001/enemy0001_Debris.png" id="3_uinig"] +[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/common/Smoke.png" id="4_t55wd"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_s1mj2"] +resource_local_to_scene = true +shader = ExtResource("2_s7bee") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1.0 +shader_parameter/modulate = Color(1, 1, 1, 1) +shader_parameter/show_outline = true +shader_parameter/outline_color = Color(0, 0, 0, 1) +shader_parameter/outline_rainbow = false +shader_parameter/outline_use_blend = true + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_08fn3"] +shader = ExtResource("2_s7bee") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0.0 +shader_parameter/modulate = Color(1, 1, 1, 1) +shader_parameter/show_outline = false +shader_parameter/outline_color = Color(0, 0, 0, 1) +shader_parameter/outline_rainbow = false +shader_parameter/outline_use_blend = true + +[sub_resource type="AtlasTexture" id="AtlasTexture_cldwb"] +atlas = ExtResource("3_uinig") +region = Rect2(0, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ehtnl"] +atlas = ExtResource("3_uinig") +region = Rect2(16, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j05gd"] +atlas = ExtResource("3_uinig") +region = Rect2(32, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7el6f"] +atlas = ExtResource("3_uinig") +region = Rect2(48, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n7sw3"] +atlas = ExtResource("3_uinig") +region = Rect2(64, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mumsm"] +atlas = ExtResource("3_uinig") +region = Rect2(80, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gx41d"] +atlas = ExtResource("3_uinig") +region = Rect2(96, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_r4nx1"] +atlas = ExtResource("3_uinig") +region = Rect2(112, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s8j4o"] +atlas = ExtResource("3_uinig") +region = Rect2(128, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2svrb"] +atlas = ExtResource("3_uinig") +region = Rect2(144, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_twd5t"] +atlas = ExtResource("3_uinig") +region = Rect2(160, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8w5ka"] +atlas = ExtResource("3_uinig") +region = Rect2(176, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6iumv"] +atlas = ExtResource("3_uinig") +region = Rect2(192, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lpilf"] +atlas = ExtResource("3_uinig") +region = Rect2(208, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n1a5a"] +atlas = ExtResource("3_uinig") +region = Rect2(224, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q0oeq"] +atlas = ExtResource("3_uinig") +region = Rect2(240, 0, 16, 16) + +[sub_resource type="SpriteFrames" id="SpriteFrames_15g84"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_cldwb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ehtnl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_j05gd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7el6f") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_n7sw3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mumsm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gx41d") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_r4nx1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s8j4o") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2svrb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_twd5t") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8w5ka") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6iumv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lpilf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_n1a5a") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q0oeq") +}], +"loop": false, +"name": &"default", +"speed": 5.0 +}] + +[sub_resource type="CircleShape2D" id="CircleShape2D_0xl2q"] +radius = 4.0 + +[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_p3lv8"] +particles_animation = true +particles_anim_h_frames = 3 +particles_anim_v_frames = 1 +particles_anim_loop = false + +[sub_resource type="Gradient" id="Gradient_ryemi"] +colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0.537255) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_orgu0"] +gradient = SubResource("Gradient_ryemi") + +[sub_resource type="Curve" id="Curve_21dxk"] +_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.177419, 1), 0.0, 0.0, 0, 0, Vector2(1, 0.0272727), 0.0, 0.0, 0, 0] +point_count = 3 + +[sub_resource type="CurveTexture" id="CurveTexture_rutlp"] +curve = SubResource("Curve_21dxk") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ku1mm"] +particle_flag_disable_z = true +angle_max = 360.0 +gravity = Vector3(0, 0, 0) +scale_min = 0.4 +scale_max = 1.5 +scale_curve = SubResource("CurveTexture_rutlp") +color = Color(0.811765, 0.0980392, 0.0980392, 0.627451) +color_ramp = SubResource("GradientTexture1D_orgu0") +anim_offset_max = 1.0 + +[node name="Effect0001" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")] +collision_layer = 128 +script = ExtResource("1_1re5v") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" type="Sprite2D" parent="."] +z_index = -1 +material = SubResource("ShaderMaterial_s1mj2") + +[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] +material = SubResource("ShaderMaterial_08fn3") +sprite_frames = SubResource("SpriteFrames_15g84") + +[node name="Collision" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_0xl2q") + +[node name="GPUParticles2D" type="GPUParticles2D" parent="."] +material = SubResource("CanvasItemMaterial_p3lv8") +emitting = false +process_material = SubResource("ParticleProcessMaterial_ku1mm") +texture = ExtResource("4_t55wd") +fixed_fps = 20 diff --git a/DungeonShooting_Godot/prefab/effect/enemy/EbenyDead0002.tscn b/DungeonShooting_Godot/prefab/effect/enemy/EbenyDead0002.tscn new file mode 100644 index 0000000..92abec4 --- /dev/null +++ b/DungeonShooting_Godot/prefab/effect/enemy/EbenyDead0002.tscn @@ -0,0 +1,124 @@ +[gd_scene load_steps=19 format=3 uid="uid://nfx3lhkdhv6a"] + +[ext_resource type="Script" path="res://src/framework/activity/ActivityObject.cs" id="1_5vjr8"] +[ext_resource type="Texture2D" uid="uid://x3tjqgdgp43n" path="res://resource/sprite/role/enemy0002/Enemy0002_dead.png" id="2_3cyjy"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_4hojo"] +[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/common/Smoke.png" id="4_m7xko"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_s1mj2"] +resource_local_to_scene = true +shader = ExtResource("2_4hojo") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1.0 +shader_parameter/modulate = Color(1, 1, 1, 1) +shader_parameter/show_outline = true +shader_parameter/outline_color = Color(0, 0, 0, 1) +shader_parameter/outline_rainbow = false +shader_parameter/outline_use_blend = true + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_08fn3"] +resource_local_to_scene = true +shader = ExtResource("2_4hojo") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0.0 +shader_parameter/modulate = Color(1, 1, 1, 1) +shader_parameter/show_outline = false +shader_parameter/outline_color = Color(0, 0, 0, 1) +shader_parameter/outline_rainbow = false +shader_parameter/outline_use_blend = true + +[sub_resource type="AtlasTexture" id="AtlasTexture_ag5h2"] +atlas = ExtResource("2_3cyjy") +region = Rect2(0, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_toly3"] +atlas = ExtResource("2_3cyjy") +region = Rect2(32, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bqash"] +atlas = ExtResource("2_3cyjy") +region = Rect2(64, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lx5fo"] +atlas = ExtResource("2_3cyjy") +region = Rect2(96, 0, 32, 32) + +[sub_resource type="SpriteFrames" id="SpriteFrames_vhsqr"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_ag5h2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_toly3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bqash") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lx5fo") +}], +"loop": false, +"name": &"default", +"speed": 5.0 +}] + +[sub_resource type="CircleShape2D" id="CircleShape2D_0xl2q"] +radius = 4.0 + +[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_p3lv8"] +particles_animation = true +particles_anim_h_frames = 3 +particles_anim_v_frames = 1 +particles_anim_loop = false + +[sub_resource type="Gradient" id="Gradient_ryemi"] +colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0.537255) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_orgu0"] +gradient = SubResource("Gradient_ryemi") + +[sub_resource type="Curve" id="Curve_21dxk"] +_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.177419, 1), 0.0, 0.0, 0, 0, Vector2(1, 0.0272727), 0.0, 0.0, 0, 0] +point_count = 3 + +[sub_resource type="CurveTexture" id="CurveTexture_rutlp"] +curve = SubResource("Curve_21dxk") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ku1mm"] +particle_flag_disable_z = true +angle_max = 360.0 +gravity = Vector3(0, 0, 0) +scale_min = 0.4 +scale_max = 1.5 +scale_curve = SubResource("CurveTexture_rutlp") +color = Color(0.811765, 0.0980392, 0.0980392, 0.627451) +color_ramp = SubResource("GradientTexture1D_orgu0") +anim_offset_max = 1.0 + +[node name="Effect0002" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")] +collision_layer = 128 +script = ExtResource("1_5vjr8") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" type="Sprite2D" parent="."] +z_index = -1 +material = SubResource("ShaderMaterial_s1mj2") + +[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] +material = SubResource("ShaderMaterial_08fn3") +sprite_frames = SubResource("SpriteFrames_vhsqr") +autoplay = "default" +offset = Vector2(0, -9) + +[node name="Collision" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_0xl2q") + +[node name="GPUParticles2D" type="GPUParticles2D" parent="."] +material = SubResource("CanvasItemMaterial_p3lv8") +emitting = false +process_material = SubResource("ParticleProcessMaterial_ku1mm") +texture = ExtResource("4_m7xko") +fixed_fps = 20 diff --git a/DungeonShooting_Godot/prefab/effect/enemy/Effect0001.tscn b/DungeonShooting_Godot/prefab/effect/enemy/Effect0001.tscn deleted file mode 100644 index 1dcd443..0000000 --- a/DungeonShooting_Godot/prefab/effect/enemy/Effect0001.tscn +++ /dev/null @@ -1,205 +0,0 @@ -[gd_scene load_steps=31 format=3 uid="uid://pr88a1phtxgb"] - -[ext_resource type="Script" path="res://src/game/effects/enemy/EnemyDebris.cs" id="1_ttosm"] -[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_h62s7"] -[ext_resource type="Texture2D" uid="uid://cn64eauvwx1uj" path="res://resource/sprite/role/enemy0001/enemy0001_Debris.png" id="3_6ewaj"] -[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/common/Smoke.png" id="4_wu0t6"] - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_s1mj2"] -resource_local_to_scene = true -shader = ExtResource("2_h62s7") -shader_parameter/blend = Color(0, 0, 0, 0.470588) -shader_parameter/schedule = 1.0 -shader_parameter/modulate = Color(1, 1, 1, 1) -shader_parameter/show_outline = true -shader_parameter/outline_color = Color(0, 0, 0, 1) -shader_parameter/outline_rainbow = false -shader_parameter/outline_use_blend = true - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_08fn3"] -shader = ExtResource("2_h62s7") -shader_parameter/blend = Color(1, 1, 1, 1) -shader_parameter/schedule = 0.0 -shader_parameter/modulate = Color(1, 1, 1, 1) -shader_parameter/show_outline = false -shader_parameter/outline_color = Color(0, 0, 0, 1) -shader_parameter/outline_rainbow = false -shader_parameter/outline_use_blend = true - -[sub_resource type="AtlasTexture" id="AtlasTexture_cldwb"] -atlas = ExtResource("3_6ewaj") -region = Rect2(0, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ehtnl"] -atlas = ExtResource("3_6ewaj") -region = Rect2(16, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_j05gd"] -atlas = ExtResource("3_6ewaj") -region = Rect2(32, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_7el6f"] -atlas = ExtResource("3_6ewaj") -region = Rect2(48, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_n7sw3"] -atlas = ExtResource("3_6ewaj") -region = Rect2(64, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_mumsm"] -atlas = ExtResource("3_6ewaj") -region = Rect2(80, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_gx41d"] -atlas = ExtResource("3_6ewaj") -region = Rect2(96, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_r4nx1"] -atlas = ExtResource("3_6ewaj") -region = Rect2(112, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_s8j4o"] -atlas = ExtResource("3_6ewaj") -region = Rect2(128, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2svrb"] -atlas = ExtResource("3_6ewaj") -region = Rect2(144, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_twd5t"] -atlas = ExtResource("3_6ewaj") -region = Rect2(160, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_8w5ka"] -atlas = ExtResource("3_6ewaj") -region = Rect2(176, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_6iumv"] -atlas = ExtResource("3_6ewaj") -region = Rect2(192, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_lpilf"] -atlas = ExtResource("3_6ewaj") -region = Rect2(208, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_n1a5a"] -atlas = ExtResource("3_6ewaj") -region = Rect2(224, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_q0oeq"] -atlas = ExtResource("3_6ewaj") -region = Rect2(240, 0, 16, 16) - -[sub_resource type="SpriteFrames" id="SpriteFrames_15g84"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_cldwb") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ehtnl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_j05gd") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_7el6f") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_n7sw3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_mumsm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_gx41d") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_r4nx1") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_s8j4o") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2svrb") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_twd5t") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_8w5ka") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_6iumv") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_lpilf") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_n1a5a") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_q0oeq") -}], -"loop": true, -"name": &"default", -"speed": 5.0 -}] - -[sub_resource type="CircleShape2D" id="CircleShape2D_0xl2q"] -radius = 4.0 - -[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_p3lv8"] -particles_animation = true -particles_anim_h_frames = 3 -particles_anim_v_frames = 1 -particles_anim_loop = false - -[sub_resource type="Gradient" id="Gradient_ryemi"] -colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0.537255) - -[sub_resource type="GradientTexture1D" id="GradientTexture1D_orgu0"] -gradient = SubResource("Gradient_ryemi") - -[sub_resource type="Curve" id="Curve_21dxk"] -_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.177419, 1), 0.0, 0.0, 0, 0, Vector2(1, 0.0272727), 0.0, 0.0, 0, 0] -point_count = 3 - -[sub_resource type="CurveTexture" id="CurveTexture_rutlp"] -curve = SubResource("Curve_21dxk") - -[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ku1mm"] -particle_flag_disable_z = true -angle_max = 360.0 -gravity = Vector3(0, 0, 0) -scale_min = 0.4 -scale_max = 1.5 -scale_curve = SubResource("CurveTexture_rutlp") -color = Color(0.811765, 0.0980392, 0.0980392, 0.627451) -color_ramp = SubResource("GradientTexture1D_orgu0") -anim_offset_max = 1.0 - -[node name="Effect0001" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")] -collision_layer = 128 -script = ExtResource("1_ttosm") -ShadowSprite = NodePath("ShadowSprite") -AnimatedSprite = NodePath("AnimatedSprite") -Collision = NodePath("Collision") - -[node name="ShadowSprite" type="Sprite2D" parent="."] -z_index = -1 -material = SubResource("ShaderMaterial_s1mj2") - -[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] -material = SubResource("ShaderMaterial_08fn3") -sprite_frames = SubResource("SpriteFrames_15g84") - -[node name="Collision" type="CollisionShape2D" parent="."] -shape = SubResource("CircleShape2D_0xl2q") - -[node name="GPUParticles2D" type="GPUParticles2D" parent="."] -material = SubResource("CanvasItemMaterial_p3lv8") -emitting = false -process_material = SubResource("ParticleProcessMaterial_ku1mm") -texture = ExtResource("4_wu0t6") -fixed_fps = 20 diff --git a/DungeonShooting_Godot/prefab/effect/enemy/EnemyBlood0001.tscn b/DungeonShooting_Godot/prefab/effect/enemy/EnemyBlood0001.tscn new file mode 100644 index 0000000..1ffbf1b --- /dev/null +++ b/DungeonShooting_Godot/prefab/effect/enemy/EnemyBlood0001.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=5 format=3 uid="uid://m0s0k5nw7nbi"] + +[ext_resource type="Material" uid="uid://c1chld6lkpgji" path="res://resource/material/SmokeParticleMaterial.tres" id="1_leomh"] +[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/common/Smoke.png" id="2_c2t2e"] +[ext_resource type="Script" path="res://src/game/effects/AutoDestroyParticles.cs" id="3_5cpi6"] + +[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_emuda"] +particles_animation = true +particles_anim_h_frames = 3 +particles_anim_v_frames = 1 +particles_anim_loop = false + +[node name="EnemyBloodEffect" type="GPUParticles2D" node_paths=PackedStringArray("Particles2D")] +modulate = Color(0.811765, 0.0980392, 0.0980392, 0.627451) +material = SubResource("CanvasItemMaterial_emuda") +emitting = false +amount = 10 +process_material = ExtResource("1_leomh") +texture = ExtResource("2_c2t2e") +lifetime = 1.2 +one_shot = true +explosiveness = 1.0 +fixed_fps = 20 +script = ExtResource("3_5cpi6") +Particles2D = [] diff --git a/DungeonShooting_Godot/prefab/effect/enemy/EnemyBloodEffect.tscn b/DungeonShooting_Godot/prefab/effect/enemy/EnemyBloodEffect.tscn deleted file mode 100644 index 1ffbf1b..0000000 --- a/DungeonShooting_Godot/prefab/effect/enemy/EnemyBloodEffect.tscn +++ /dev/null @@ -1,25 +0,0 @@ -[gd_scene load_steps=5 format=3 uid="uid://m0s0k5nw7nbi"] - -[ext_resource type="Material" uid="uid://c1chld6lkpgji" path="res://resource/material/SmokeParticleMaterial.tres" id="1_leomh"] -[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/common/Smoke.png" id="2_c2t2e"] -[ext_resource type="Script" path="res://src/game/effects/AutoDestroyParticles.cs" id="3_5cpi6"] - -[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_emuda"] -particles_animation = true -particles_anim_h_frames = 3 -particles_anim_v_frames = 1 -particles_anim_loop = false - -[node name="EnemyBloodEffect" type="GPUParticles2D" node_paths=PackedStringArray("Particles2D")] -modulate = Color(0.811765, 0.0980392, 0.0980392, 0.627451) -material = SubResource("CanvasItemMaterial_emuda") -emitting = false -amount = 10 -process_material = ExtResource("1_leomh") -texture = ExtResource("2_c2t2e") -lifetime = 1.2 -one_shot = true -explosiveness = 1.0 -fixed_fps = 20 -script = ExtResource("3_5cpi6") -Particles2D = [] diff --git a/DungeonShooting_Godot/resource/config/ActivityBase.json b/DungeonShooting_Godot/resource/config/ActivityBase.json index d5a76c2..5208332 100644 --- a/DungeonShooting_Godot/resource/config/ActivityBase.json +++ b/DungeonShooting_Godot/resource/config/ActivityBase.json @@ -252,14 +252,26 @@ "ShowInMapEditor": false }, { - "Id": "effect0001", + "Id": "enemy_dead0001", "Type": 8, "Name": "", - "Intro": "\u654C\u4EBA\u6B7B\u4EA1\u788E\u7247", + "Intro": "\u654C\u4EBA1\u6B7B\u4EA1\u788E\u7247", "Details": "", "IsStatic": false, "__Material": "", - "Prefab": "res://prefab/effect/enemy/Effect0001.tscn", + "Prefab": "res://prefab/effect/enemy/EbenyDead0001.tscn", + "Icon": "", + "ShowInMapEditor": false + }, + { + "Id": "enemy_dead0002", + "Type": 8, + "Name": "", + "Intro": "\u654C\u4EBA2\u6B7B\u4EA1", + "Details": "", + "IsStatic": false, + "__Material": "", + "Prefab": "res://prefab/effect/enemy/EbenyDead0002.tscn", "Icon": "", "ShowInMapEditor": false }, diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0002/Enemy0002_dead.png b/DungeonShooting_Godot/resource/sprite/role/enemy0002/Enemy0002_dead.png index 80665e9..69431f9 100644 --- a/DungeonShooting_Godot/resource/sprite/role/enemy0002/Enemy0002_dead.png +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0002/Enemy0002_dead.png Binary files differ diff --git a/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs b/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs index b4bfe60..f81f952 100644 --- a/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs +++ b/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs @@ -10,7 +10,8 @@ /// 该类提供基础物体运动模拟, 互动接口, 自定义组件, 协程等功能
/// ActivityObject 子类实例化请不要直接使用 new, 而用该在类上标上 [Tool], 并在 ActivityObject.xlsx 配置文件中注册物体, 导出配置表后使用 ActivityObject.Create(id) 来创建实例.
/// -public abstract partial class ActivityObject : CharacterBody2D, IDestroy, ICoroutine +[Tool] +public partial class ActivityObject : CharacterBody2D, IDestroy, ICoroutine { /// /// 是否是调试模式 diff --git a/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs b/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs index df2a5bf..02b1b5e 100644 --- a/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs +++ b/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs @@ -115,9 +115,14 @@ public const string Id_shell0004 = "shell0004"; /// /// 名称:
- /// 简介: 敌人死亡碎片 + /// 简介: 敌人1死亡碎片 ///
- public const string Id_effect0001 = "effect0001"; + public const string Id_enemy_dead0001 = "enemy_dead0001"; + /// + /// 名称:
+ /// 简介: 敌人2死亡 + ///
+ public const string Id_enemy_dead0002 = "enemy_dead0002"; /// /// 名称: 鞋子
/// 简介: 提高移动速度 diff --git a/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs b/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs index 90c89dd..ebec6c8 100644 --- a/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs +++ b/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs @@ -150,7 +150,7 @@ var effPos = Position + new Vector2(0, -Altitude); //血液特效 - var blood = ObjectManager.GetPoolItem(ResourcePath.prefab_effect_enemy_EnemyBloodEffect_tscn); + var blood = ObjectManager.GetPoolItem(ResourcePath.prefab_effect_enemy_EnemyBlood0001_tscn); blood.Position = effPos - new Vector2(0, 12); blood.AddToActivityRoot(RoomLayerEnum.NormalLayer); blood.PlayEffect(); @@ -159,7 +159,7 @@ var count = Utils.Random.RandomRangeInt(3, 6); for (var i = 0; i < count; i++) { - var debris = Create(Ids.Id_effect0001); + var debris = Create(Ids.Id_enemy_dead0001); debris.PutDown(effPos, RoomLayerEnum.NormalLayer); debris.InheritVelocity(this); } diff --git a/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs b/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs index 0c7ce65..745a057 100644 --- a/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs +++ b/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs @@ -35,6 +35,18 @@ } } + protected override void OnDie() + { + var effPos = Position; + var debris = Create(Ids.Id_enemy_dead0002); + debris.PutDown(effPos, RoomLayerEnum.NormalLayer); + debris.InheritVelocity(this); + + //派发敌人死亡信号 + EventManager.EmitEvent(EventEnum.OnEnemyDie, this); + Destroy(); + } + private void OnAnimationFinished(StringName name) { if (name == AnimatorNames.Attack) diff --git a/DungeonShooting_Godot/src/game/effects/enemy/EnemyDead0001.cs b/DungeonShooting_Godot/src/game/effects/enemy/EnemyDead0001.cs new file mode 100644 index 0000000..d600a25 --- /dev/null +++ b/DungeonShooting_Godot/src/game/effects/enemy/EnemyDead0001.cs @@ -0,0 +1,48 @@ + +using System.Collections; +using Godot; + +/// +/// 敌人死亡碎片 +/// +[Tool] +public partial class EnemyDead0001 : ActivityObject +{ + + private GpuParticles2D _gpuParticles2D; + private bool _playOver = false; + + public override void OnInit() + { + var frameCount = AnimatedSprite.SpriteFrames.GetFrameCount(AnimatorNames.Default); + AnimatedSprite.Frame = Utils.Random.RandomRangeInt(0, frameCount - 1); + + Throw( + Utils.Random.RandomRangeInt(0, 16), + Utils.Random.RandomRangeInt(10, 60), + new Vector2(Utils.Random.RandomRangeInt(-25, 25), Utils.Random.RandomRangeInt(-25, 25)), + Utils.Random.RandomRangeInt(-360, 360) + ); + + StartCoroutine(EmitParticles()); + } + + protected override void Process(float delta) + { + if (_playOver && !IsThrowing && Altitude <= 0 && MoveController.IsMotionless()) + { + MoveController.SetAllVelocity(Vector2.Zero); + Freeze(); + } + } + + public IEnumerator EmitParticles() + { + var gpuParticles2D = GetNode("GPUParticles2D"); + gpuParticles2D.Emitting = true; + yield return new WaitForSeconds(Utils.Random.RandomRangeFloat(1f, 2.5f)); + gpuParticles2D.Emitting = false; + yield return new WaitForSeconds(1); + _playOver = true; + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/effects/enemy/EnemyDebris.cs b/DungeonShooting_Godot/src/game/effects/enemy/EnemyDebris.cs deleted file mode 100644 index d96d1c2..0000000 --- a/DungeonShooting_Godot/src/game/effects/enemy/EnemyDebris.cs +++ /dev/null @@ -1,48 +0,0 @@ - -using System.Collections; -using Godot; - -/// -/// 敌人死亡碎片 -/// -[Tool] -public partial class EnemyDebris : ActivityObject -{ - - private GpuParticles2D _gpuParticles2D; - private bool _playOver = false; - - public override void OnInit() - { - var frameCount = AnimatedSprite.SpriteFrames.GetFrameCount(AnimatorNames.Default); - AnimatedSprite.Frame = Utils.Random.RandomRangeInt(0, frameCount - 1); - - Throw( - Utils.Random.RandomRangeInt(0, 16), - Utils.Random.RandomRangeInt(10, 60), - new Vector2(Utils.Random.RandomRangeInt(-25, 25), Utils.Random.RandomRangeInt(-25, 25)), - Utils.Random.RandomRangeInt(-360, 360) - ); - - StartCoroutine(EmitParticles()); - } - - protected override void Process(float delta) - { - if (_playOver && !IsThrowing && Altitude <= 0 && MoveController.IsMotionless()) - { - MoveController.SetAllVelocity(Vector2.Zero); - Freeze(); - } - } - - public IEnumerator EmitParticles() - { - var gpuParticles2D = GetNode("GPUParticles2D"); - gpuParticles2D.Emitting = true; - yield return new WaitForSeconds(Utils.Random.RandomRangeFloat(1f, 2.5f)); - gpuParticles2D.Emitting = false; - yield return new WaitForSeconds(1); - _playOver = true; - } -} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/manager/ResourcePath.cs b/DungeonShooting_Godot/src/game/manager/ResourcePath.cs index cd7de40..7a7eb31 100644 --- a/DungeonShooting_Godot/src/game/manager/ResourcePath.cs +++ b/DungeonShooting_Godot/src/game/manager/ResourcePath.cs @@ -18,8 +18,8 @@ public const string prefab_bullet_normal_Bullet0005_tscn = "res://prefab/bullet/normal/Bullet0005.tscn"; public const string prefab_effect_Blood_tscn = "res://prefab/effect/Blood.tscn"; public const string prefab_effect_common_Effect1_tscn = "res://prefab/effect/common/Effect1.tscn"; - public const string prefab_effect_enemy_Effect0001_tscn = "res://prefab/effect/enemy/Effect0001.tscn"; - public const string prefab_effect_enemy_EnemyBloodEffect_tscn = "res://prefab/effect/enemy/EnemyBloodEffect.tscn"; + public const string prefab_effect_enemy_EbenyDead0001_tscn = "res://prefab/effect/enemy/EbenyDead0001.tscn"; + public const string prefab_effect_enemy_EnemyBlood0001_tscn = "res://prefab/effect/enemy/EnemyBlood0001.tscn"; public const string prefab_effect_weapon_BulletDisappear_tscn = "res://prefab/effect/weapon/BulletDisappear.tscn"; public const string prefab_effect_weapon_BulletSmoke_tscn = "res://prefab/effect/weapon/BulletSmoke.tscn"; public const string prefab_effect_weapon_MeleeAttack1_tscn = "res://prefab/effect/weapon/MeleeAttack1.tscn"; @@ -48,6 +48,7 @@ public const string prefab_prop_buff_BuffProp0013_tscn = "res://prefab/prop/buff/BuffProp0013.tscn"; public const string prefab_prop_buff_BuffProp0014_tscn = "res://prefab/prop/buff/BuffProp0014.tscn"; public const string prefab_role_Enemy0001_tscn = "res://prefab/role/Enemy0001.tscn"; + public const string prefab_role_Enemy0002_tscn = "res://prefab/role/Enemy0002.tscn"; public const string prefab_role_Role0001_tscn = "res://prefab/role/Role0001.tscn"; public const string prefab_role_template_EnemyTemplate_tscn = "res://prefab/role/template/EnemyTemplate.tscn"; public const string prefab_role_template_RoleTemplate_tscn = "res://prefab/role/template/RoleTemplate.tscn";