diff --git a/DungeonShooting_Godot/excel/EnemyBase.xlsx b/DungeonShooting_Godot/excel/EnemyBase.xlsx index 362bdeb..8e304ea 100644 --- a/DungeonShooting_Godot/excel/EnemyBase.xlsx +++ b/DungeonShooting_Godot/excel/EnemyBase.xlsx Binary files differ diff --git a/DungeonShooting_Godot/prefab/role/Role0001.tscn b/DungeonShooting_Godot/prefab/role/Role0001.tscn index 11cf968..afa4f42 100644 --- a/DungeonShooting_Godot/prefab/role/Role0001.tscn +++ b/DungeonShooting_Godot/prefab/role/Role0001.tscn @@ -47,7 +47,7 @@ [node name="AnimatedSprite" parent="." index="2"] material = SubResource("ShaderMaterial_8hgu2") sprite_frames = ExtResource("4_galcc") -animation = &"roll" +animation = &"die" [node name="Collision" parent="." index="3"] position = Vector2(0, 0) diff --git a/DungeonShooting_Godot/prefab/role/enemy/Enemy0003.tscn b/DungeonShooting_Godot/prefab/role/enemy/Enemy0003.tscn new file mode 100644 index 0000000..78ac185 --- /dev/null +++ b/DungeonShooting_Godot/prefab/role/enemy/Enemy0003.tscn @@ -0,0 +1,86 @@ +[gd_scene load_steps=13 format=3 uid="uid://87kfirk3fugd"] + +[ext_resource type="PackedScene" uid="uid://dbrig6dq441wo" path="res://prefab/role/template/AiTemplate.tscn" id="1_34027"] +[ext_resource type="Script" path="res://src/game/activity/role/enemy/Enemy.cs" id="2_pakvr"] +[ext_resource type="Shader" path="res://resource/shader/Blend.gdshader" id="3_egkdu"] +[ext_resource type="SpriteFrames" uid="uid://cnk1wmk3uy4aa" path="res://resource/spriteFrames/role/Enemy0003.tres" id="4_sd22a"] +[ext_resource type="Animation" uid="uid://b4mgiysicdk2b" path="res://resource/animation/enemy/Enemy_reset.res" id="5_5area"] +[ext_resource type="Animation" uid="uid://gvkkxspcdwrp" path="res://resource/animation/enemy/Enemy_astonished.res" id="6_o4vh5"] +[ext_resource type="Animation" uid="uid://16rxpnsgj5tl" path="res://resource/animation/enemy/Enemy_notify.res" id="7_y8dcl"] +[ext_resource type="Animation" uid="uid://cmje7jsgrhgmx" path="res://resource/animation/enemy/Enemy_query.res" id="8_7j8ux"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_3nkur"] +resource_local_to_scene = true +shader = ExtResource("3_egkdu") +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 +shader_parameter/grey = 0.0 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_2kup1"] +resource_local_to_scene = true +shader = ExtResource("3_egkdu") +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 = true +shader_parameter/outline_color = Color(0, 0, 0, 1) +shader_parameter/outline_rainbow = false +shader_parameter/outline_use_blend = true +shader_parameter/grey = 0.0 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_rkrey"] +size = Vector2(12, 18) + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_ur1ug"] +_data = { +"RESET": ExtResource("5_5area"), +"astonished": ExtResource("6_o4vh5"), +"notify": ExtResource("7_y8dcl"), +"query": ExtResource("8_7j8ux") +} + +[node name="Enemy0003" node_paths=PackedStringArray("ViewRay", "NavigationAgent2D", "NavigationPoint", "FirePoint", "ViewArea", "ViewAreaCollision", "HurtArea", "HurtCollision", "InteractiveArea", "InteractiveCollision", "TipRoot", "TipSprite", "AnimationPlayer", "MountPoint", "BackMountPoint", "MeleeAttackArea", "MeleeAttackCollision", "ShadowSprite", "AnimatedSprite", "Collision") instance=ExtResource("1_34027")] +script = ExtResource("2_pakvr") +ViewRay = NodePath("ViewRay") +NavigationAgent2D = NodePath("NavigationPoint/NavigationAgent2D") +NavigationPoint = NodePath("NavigationPoint") +FirePoint = NodePath("FirePoint") +ViewArea = NodePath("MountPoint/ViewArea") +ViewAreaCollision = NodePath("MountPoint/ViewArea/ViewAreaCollision") +HurtArea = NodePath("HurtArea") +HurtCollision = NodePath("HurtArea/HurtCollision") +InteractiveArea = NodePath("InteractiveArea") +InteractiveCollision = NodePath("InteractiveArea/InteractiveCollision") +TipRoot = NodePath("TipRoot") +TipSprite = NodePath("TipRoot/TipSprite") +AnimationPlayer = NodePath("AnimationPlayer") +MountPoint = NodePath("MountPoint") +BackMountPoint = NodePath("BackMountPoint") +MeleeAttackArea = NodePath("MountPoint/MeleeAttackArea") +MeleeAttackCollision = NodePath("MountPoint/MeleeAttackArea/MeleeAttackCollision") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" parent="." index="0"] +material = SubResource("ShaderMaterial_3nkur") + +[node name="AnimatedSprite" parent="." index="2"] +material = SubResource("ShaderMaterial_2kup1") +sprite_frames = ExtResource("4_sd22a") + +[node name="HurtCollision" parent="HurtArea" index="0"] +shape = SubResource("RectangleShape2D_rkrey") + +[node name="FirePoint" parent="." index="8"] +position = Vector2(2, -9) + +[node name="AnimationPlayer" parent="." index="11"] +libraries = { +"": SubResource("AnimationLibrary_ur1ug") +} diff --git a/DungeonShooting_Godot/resource/config/EnemyBase.json b/DungeonShooting_Godot/resource/config/EnemyBase.json index 054f597..e8c56ec 100644 --- a/DungeonShooting_Godot/resource/config/EnemyBase.json +++ b/DungeonShooting_Godot/resource/config/EnemyBase.json @@ -10,8 +10,8 @@ "AttackInterval": 0, "CanPickUpWeapon": true, "ViewRange": 250, - "TailAfterViewRange": 400, - "BackViewRange": 50, + "TailAfterViewRange": 300, + "ViewAngleRange": 150, "Gold": [ -2, 3 @@ -29,7 +29,7 @@ "CanPickUpWeapon": false, "ViewRange": 200, "TailAfterViewRange": 300, - "BackViewRange": 50, + "ViewAngleRange": 150, "Gold": [ -2, 4 diff --git a/DungeonShooting_Godot/resource/material/BleB865.tmp b/DungeonShooting_Godot/resource/material/BleB865.tmp deleted file mode 100644 index a40db2f..0000000 --- a/DungeonShooting_Godot/resource/material/BleB865.tmp +++ /dev/null @@ -1,51 +0,0 @@ -shader_type canvas_item; - -//混合颜色 -uniform vec4 blend : source_color = vec4(1.0, 1.0, 1.0, 1.0); -//混合度 -uniform float schedule : hint_range(0.0, 1.0) = 0.0; -//透明度 -//uniform float alpha : hint_range(0.0, 1.0) = 1.0; -uniform vec4 modulate : source_color = vec4(1.0, 1.0, 1.0, 1.0); - -//------------------ 轮廓相关 -------------- -uniform bool show_outline = true; -//轮廓颜色 -uniform vec4 outline_color : source_color = vec4(0.0, 0.0, 0.0, 1.0); -//是否是彩虹轮廓 -uniform bool outline_rainbow = false; -//彩虹轮廓变化周期 -const float frequency = 0.25; -const float light_offset = 0.5; - -void fragment() { - //显示轮廓 - if (show_outline) { - vec2 size = TEXTURE_PIXEL_SIZE; - float outline; - outline = texture(TEXTURE, UV + vec2(-size.x, 0)).a; - outline += texture(TEXTURE, UV + vec2(0, size.y)).a; - outline += texture(TEXTURE, UV + vec2(size.x, 0)).a; - outline += texture(TEXTURE, UV + vec2(0, -size.y)).a; - outline = min(outline, 1.0); - - vec4 animated_line_color = vec4( - light_offset + sin(2.0 * 3.14 * frequency * TIME), - light_offset + sin(2.0 * 3.14 * frequency * TIME + radians(120.0)), - light_offset + sin(2.0 * 3.14 * frequency * TIME + radians(240.0)), - 1.0 - ); - - vec4 color = texture(TEXTURE, UV); - if (outline_rainbow){ - COLOR = mix(color, animated_line_color, outline - color.a); - } else { - COLOR = mix(color, outline_color , outline - color.a); - } - } - - vec4 col = mix(COLOR, blend, schedule); - col = mix(vec4(0.0, 0.0, 0.0, 0.0), col, COLOR.a); - col *= modulate; - COLOR = col; -} diff --git a/DungeonShooting_Godot/resource/material/BleFA6E.tmp b/DungeonShooting_Godot/resource/material/BleFA6E.tmp deleted file mode 100644 index a40db2f..0000000 --- a/DungeonShooting_Godot/resource/material/BleFA6E.tmp +++ /dev/null @@ -1,51 +0,0 @@ -shader_type canvas_item; - -//混合颜色 -uniform vec4 blend : source_color = vec4(1.0, 1.0, 1.0, 1.0); -//混合度 -uniform float schedule : hint_range(0.0, 1.0) = 0.0; -//透明度 -//uniform float alpha : hint_range(0.0, 1.0) = 1.0; -uniform vec4 modulate : source_color = vec4(1.0, 1.0, 1.0, 1.0); - -//------------------ 轮廓相关 -------------- -uniform bool show_outline = true; -//轮廓颜色 -uniform vec4 outline_color : source_color = vec4(0.0, 0.0, 0.0, 1.0); -//是否是彩虹轮廓 -uniform bool outline_rainbow = false; -//彩虹轮廓变化周期 -const float frequency = 0.25; -const float light_offset = 0.5; - -void fragment() { - //显示轮廓 - if (show_outline) { - vec2 size = TEXTURE_PIXEL_SIZE; - float outline; - outline = texture(TEXTURE, UV + vec2(-size.x, 0)).a; - outline += texture(TEXTURE, UV + vec2(0, size.y)).a; - outline += texture(TEXTURE, UV + vec2(size.x, 0)).a; - outline += texture(TEXTURE, UV + vec2(0, -size.y)).a; - outline = min(outline, 1.0); - - vec4 animated_line_color = vec4( - light_offset + sin(2.0 * 3.14 * frequency * TIME), - light_offset + sin(2.0 * 3.14 * frequency * TIME + radians(120.0)), - light_offset + sin(2.0 * 3.14 * frequency * TIME + radians(240.0)), - 1.0 - ); - - vec4 color = texture(TEXTURE, UV); - if (outline_rainbow){ - COLOR = mix(color, animated_line_color, outline - color.a); - } else { - COLOR = mix(color, outline_color , outline - color.a); - } - } - - vec4 col = mix(COLOR, blend, schedule); - col = mix(vec4(0.0, 0.0, 0.0, 0.0), col, COLOR.a); - col *= modulate; - COLOR = col; -} diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0003/enemy0003.png b/DungeonShooting_Godot/resource/sprite/role/enemy0003/enemy0003.png new file mode 100644 index 0000000..56d00a6 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0003/enemy0003.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0003/enemy0003.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0003/enemy0003.png.import new file mode 100644 index 0000000..23761ad --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0003/enemy0003.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cdf1al6kpv3ta" +path="res://.godot/imported/enemy0003.png-2aff5a98bb5dd4db23d6f75b0e990221.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0003/enemy0003.png" +dest_files=["res://.godot/imported/enemy0003.png-2aff5a98bb5dd4db23d6f75b0e990221.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0003/enemy0003_Debris.png b/DungeonShooting_Godot/resource/sprite/role/enemy0003/enemy0003_Debris.png new file mode 100644 index 0000000..0c428a8 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0003/enemy0003_Debris.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0003/enemy0003_Debris.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0003/enemy0003_Debris.png.import new file mode 100644 index 0000000..82f98bd --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0003/enemy0003_Debris.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dj68fnvd2qrm4" +path="res://.godot/imported/enemy0003_Debris.png-0d49499ec67ee7fedfebc509ec159ea0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0003/enemy0003_Debris.png" +dest_files=["res://.godot/imported/enemy0003_Debris.png-0d49499ec67ee7fedfebc509ec159ea0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0003/enemy0003_Icon.png b/DungeonShooting_Godot/resource/sprite/role/enemy0003/enemy0003_Icon.png new file mode 100644 index 0000000..ef31ab5 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0003/enemy0003_Icon.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0003/enemy0003_Icon.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0003/enemy0003_Icon.png.import new file mode 100644 index 0000000..6ae8808 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0003/enemy0003_Icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d0n3ncp68nnk6" +path="res://.godot/imported/enemy0003_Icon.png-b9629b2c5194b2a54d5cd4d819d3b505.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0003/enemy0003_Icon.png" +dest_files=["res://.godot/imported/enemy0003_Icon.png-b9629b2c5194b2a54d5cd4d819d3b505.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0004/enemy0004.png b/DungeonShooting_Godot/resource/sprite/role/enemy0004/enemy0004.png new file mode 100644 index 0000000..81348f6 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0004/enemy0004.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0004/enemy0004.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0004/enemy0004.png.import new file mode 100644 index 0000000..50561a7 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0004/enemy0004.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://digotsm6pux62" +path="res://.godot/imported/enemy0004.png-48437bd7fc483bcc9164f9278838c427.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0004/enemy0004.png" +dest_files=["res://.godot/imported/enemy0004.png-48437bd7fc483bcc9164f9278838c427.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0004/enemy0004_Debris.png b/DungeonShooting_Godot/resource/sprite/role/enemy0004/enemy0004_Debris.png new file mode 100644 index 0000000..b531577 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0004/enemy0004_Debris.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0004/enemy0004_Debris.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0004/enemy0004_Debris.png.import new file mode 100644 index 0000000..2fc93e2 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0004/enemy0004_Debris.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://v63ex2nsmve8" +path="res://.godot/imported/enemy0004_Debris.png-8490ea147f0c0301c8ff1081373d661a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0004/enemy0004_Debris.png" +dest_files=["res://.godot/imported/enemy0004_Debris.png-8490ea147f0c0301c8ff1081373d661a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0004/enemy0004_Icon.png b/DungeonShooting_Godot/resource/sprite/role/enemy0004/enemy0004_Icon.png new file mode 100644 index 0000000..73333fe --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0004/enemy0004_Icon.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0004/enemy0004_Icon.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0004/enemy0004_Icon.png.import new file mode 100644 index 0000000..e91bc90 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0004/enemy0004_Icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbw81vt8cv47a" +path="res://.godot/imported/enemy0004_Icon.png-afab614bd8c989b6254232cbe479a533.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0004/enemy0004_Icon.png" +dest_files=["res://.godot/imported/enemy0004_Icon.png-afab614bd8c989b6254232cbe479a533.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0005/enemy0005.png b/DungeonShooting_Godot/resource/sprite/role/enemy0005/enemy0005.png new file mode 100644 index 0000000..6162fc8 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0005/enemy0005.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0005/enemy0005.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0005/enemy0005.png.import new file mode 100644 index 0000000..cf72c61 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0005/enemy0005.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://5tge3befo7le" +path="res://.godot/imported/enemy0005.png-e2e97973c857a4e2da0bd848aff0b022.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0005/enemy0005.png" +dest_files=["res://.godot/imported/enemy0005.png-e2e97973c857a4e2da0bd848aff0b022.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0005/enemy0005_Debris.png b/DungeonShooting_Godot/resource/sprite/role/enemy0005/enemy0005_Debris.png new file mode 100644 index 0000000..8675634 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0005/enemy0005_Debris.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0005/enemy0005_Debris.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0005/enemy0005_Debris.png.import new file mode 100644 index 0000000..bcdda13 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0005/enemy0005_Debris.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dw4jvgt7iwi2d" +path="res://.godot/imported/enemy0005_Debris.png-8cdee7278caf6047bdf1b37bc055bc6e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0005/enemy0005_Debris.png" +dest_files=["res://.godot/imported/enemy0005_Debris.png-8cdee7278caf6047bdf1b37bc055bc6e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0005/enemy0005_Icon.png b/DungeonShooting_Godot/resource/sprite/role/enemy0005/enemy0005_Icon.png new file mode 100644 index 0000000..c1dd6d1 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0005/enemy0005_Icon.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0005/enemy0005_Icon.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0005/enemy0005_Icon.png.import new file mode 100644 index 0000000..be68958 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0005/enemy0005_Icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://mvpyaurvr278" +path="res://.godot/imported/enemy0005_Icon.png-6c35e6f3e277f42cce227ff83451f989.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0005/enemy0005_Icon.png" +dest_files=["res://.godot/imported/enemy0005_Icon.png-6c35e6f3e277f42cce227ff83451f989.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0006/enemy0005.png b/DungeonShooting_Godot/resource/sprite/role/enemy0006/enemy0005.png new file mode 100644 index 0000000..e299d9e --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0006/enemy0005.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0006/enemy0005.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0006/enemy0005.png.import new file mode 100644 index 0000000..0735258 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0006/enemy0005.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cdin8mr0sj5v0" +path="res://.godot/imported/enemy0005.png-d7d5d324302d03139b72cada5c03b905.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0006/enemy0005.png" +dest_files=["res://.godot/imported/enemy0005.png-d7d5d324302d03139b72cada5c03b905.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0006/enemy005.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0006/enemy005.png.import new file mode 100644 index 0000000..542466b --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0006/enemy005.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bpujly44rboun" +path="res://.godot/imported/enemy005.png-6312988475feeb1cbcc99baeb7ad3e72.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy005/enemy005.png" +dest_files=["res://.godot/imported/enemy005.png-6312988475feeb1cbcc99baeb7ad3e72.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy002/enemy0002_Debris.png b/DungeonShooting_Godot/resource/sprite/role/enemy002/enemy0002_Debris.png deleted file mode 100644 index 0c428a8..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy002/enemy0002_Debris.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy002/enemy0002_Debris.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy002/enemy0002_Debris.png.import deleted file mode 100644 index bafe012..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy002/enemy0002_Debris.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://ci3asfv7unyb5" -path="res://.godot/imported/enemy0002_Debris.png-dba5b9e1a44c0c4607b398d6a4ad1f6b.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/role/enemy002/enemy0002_Debris.png" -dest_files=["res://.godot/imported/enemy0002_Debris.png-dba5b9e1a44c0c4607b398d6a4ad1f6b.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy002/enemy0002_Icon.png b/DungeonShooting_Godot/resource/sprite/role/enemy002/enemy0002_Icon.png deleted file mode 100644 index ef31ab5..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy002/enemy0002_Icon.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy002/enemy0002_Icon.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy002/enemy0002_Icon.png.import deleted file mode 100644 index 583dba1..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy002/enemy0002_Icon.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://rxf7oedqctny" -path="res://.godot/imported/enemy0002_Icon.png-b53f87074dd0d6e7ec829630c12aed3b.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/role/enemy002/enemy0002_Icon.png" -dest_files=["res://.godot/imported/enemy0002_Icon.png-b53f87074dd0d6e7ec829630c12aed3b.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy002/enemy002.png b/DungeonShooting_Godot/resource/sprite/role/enemy002/enemy002.png deleted file mode 100644 index 56d00a6..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy002/enemy002.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy002/enemy002.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy002/enemy002.png.import deleted file mode 100644 index efd00d3..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy002/enemy002.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cdum7n5j0gta6" -path="res://.godot/imported/enemy002.png-31ab39c6db5ef9c63253e2a46071bc80.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/role/enemy002/enemy002.png" -dest_files=["res://.godot/imported/enemy002.png-31ab39c6db5ef9c63253e2a46071bc80.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy002/role3.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy002/role3.png.import deleted file mode 100644 index f035be1..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy002/role3.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cd47r554va1h2" -path="res://.godot/imported/role3.png-03fa3f4e21f02035205dd8b89a4b74a0.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/role/role3.png" -dest_files=["res://.godot/imported/role3.png-03fa3f4e21f02035205dd8b89a4b74a0.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy003/enemy0002_Debris.png b/DungeonShooting_Godot/resource/sprite/role/enemy003/enemy0002_Debris.png deleted file mode 100644 index b531577..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy003/enemy0002_Debris.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy003/enemy0002_Debris.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy003/enemy0002_Debris.png.import deleted file mode 100644 index f9e52b7..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy003/enemy0002_Debris.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dbbyyfituaef1" -path="res://.godot/imported/enemy0002_Debris.png-98d3289fe562ce71a2f03eae55431604.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/role/enemy003/enemy0002_Debris.png" -dest_files=["res://.godot/imported/enemy0002_Debris.png-98d3289fe562ce71a2f03eae55431604.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy003/enemy0002_Icon.png b/DungeonShooting_Godot/resource/sprite/role/enemy003/enemy0002_Icon.png deleted file mode 100644 index 73333fe..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy003/enemy0002_Icon.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy003/enemy0002_Icon.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy003/enemy0002_Icon.png.import deleted file mode 100644 index a2a85ec..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy003/enemy0002_Icon.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dn3y80mi8fw16" -path="res://.godot/imported/enemy0002_Icon.png-ef381e4281ee7852711ffa5942ec9b89.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/role/enemy003/enemy0002_Icon.png" -dest_files=["res://.godot/imported/enemy0002_Icon.png-ef381e4281ee7852711ffa5942ec9b89.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy003/enemy003.png b/DungeonShooting_Godot/resource/sprite/role/enemy003/enemy003.png deleted file mode 100644 index 81348f6..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy003/enemy003.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy003/enemy003.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy003/enemy003.png.import deleted file mode 100644 index 8b9bbd1..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy003/enemy003.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dw3oauy05djvw" -path="res://.godot/imported/enemy003.png-4d0a2901f3c5768b88cdbcb2314c3290.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/role/enemy003/enemy003.png" -dest_files=["res://.godot/imported/enemy003.png-4d0a2901f3c5768b88cdbcb2314c3290.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy004.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy004.png.import new file mode 100644 index 0000000..0633bd9 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy004.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dhdrfq2sujlwi" +path="res://.godot/imported/enemy004.png-edee3234fcf023701ba8f39d633728bd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy004.png" +dest_files=["res://.godot/imported/enemy004.png-edee3234fcf023701ba8f39d633728bd.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy004/enemy0004_Debris.png b/DungeonShooting_Godot/resource/sprite/role/enemy004/enemy0004_Debris.png deleted file mode 100644 index 8675634..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy004/enemy0004_Debris.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy004/enemy0004_Debris.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy004/enemy0004_Debris.png.import deleted file mode 100644 index 9fbb98d..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy004/enemy0004_Debris.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c5wwwotumy7wo" -path="res://.godot/imported/enemy0004_Debris.png-502689251ad6d860c299fabd91873cc5.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/role/enemy004/enemy0004_Debris.png" -dest_files=["res://.godot/imported/enemy0004_Debris.png-502689251ad6d860c299fabd91873cc5.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy004/enemy0004_Icon.png b/DungeonShooting_Godot/resource/sprite/role/enemy004/enemy0004_Icon.png deleted file mode 100644 index c1dd6d1..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy004/enemy0004_Icon.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy004/enemy0004_Icon.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy004/enemy0004_Icon.png.import deleted file mode 100644 index 6109ed6..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy004/enemy0004_Icon.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://vhlxx2npduje" -path="res://.godot/imported/enemy0004_Icon.png-8f67c32ca3dbbe19d435a136d19df109.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/role/enemy004/enemy0004_Icon.png" -dest_files=["res://.godot/imported/enemy0004_Icon.png-8f67c32ca3dbbe19d435a136d19df109.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy004/enemy004.png b/DungeonShooting_Godot/resource/sprite/role/enemy004/enemy004.png deleted file mode 100644 index 6162fc8..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy004/enemy004.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy004/enemy004.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy004/enemy004.png.import deleted file mode 100644 index 6748c63..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy004/enemy004.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bhwhhg2dfsr26" -path="res://.godot/imported/enemy004.png-aca665209b2a95f0c437703d8f02573a.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/role/enemy004/enemy004.png" -dest_files=["res://.godot/imported/enemy004.png-aca665209b2a95f0c437703d8f02573a.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy005/enemy005.png b/DungeonShooting_Godot/resource/sprite/role/enemy005/enemy005.png deleted file mode 100644 index e299d9e..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy005/enemy005.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy005/enemy005.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy005/enemy005.png.import deleted file mode 100644 index 542466b..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/enemy005/enemy005.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bpujly44rboun" -path="res://.godot/imported/enemy005.png-6312988475feeb1cbcc99baeb7ad3e72.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/role/enemy005/enemy005.png" -dest_files=["res://.godot/imported/enemy005.png-6312988475feeb1cbcc99baeb7ad3e72.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0002.png.import b/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0002.png.import index 4e0a3eb..9ed923a 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0002.png.import +++ b/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0002.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://bnieimeyrrx2x" +uid="uid://cbx2rqaka0ocs" path="res://.godot/imported/Sprite-0002.png-633116a6824823fae344e909a045ed1e.ctex" metadata={ "vram_texture": false diff --git a/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0003.png.import b/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0003.png.import index 5ca8408..3216b2f 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0003.png.import +++ b/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0003.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://dwpslrr8jyvvg" +uid="uid://0gyjuaeqcqa4" path="res://.godot/imported/Sprite-0003.png-f04c6081d0b6770f3955828a993cee9b.ctex" metadata={ "vram_texture": false diff --git a/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0004.png.import b/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0004.png.import index b1f989b..6662658 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0004.png.import +++ b/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0004.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://d0vu1u8j3whb7" +uid="uid://bdf273admb6w" path="res://.godot/imported/Sprite-0004.png-a0a6cce26b5cae453cbb5bd47d1c746a.ctex" metadata={ "vram_texture": false diff --git a/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0005.png.import b/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0005.png.import index 7c9d2a8..53ef3d4 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0005.png.import +++ b/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0005.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://cyuuijeewyg30" +uid="uid://p8h28jechawi" path="res://.godot/imported/Sprite-0005.png-88d59060d073f3b45f220303788722f4.ctex" metadata={ "vram_texture": false diff --git a/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0006.png.import b/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0006.png.import index 3157872..49decfc 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0006.png.import +++ b/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0006.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://ux16f68foilk" +uid="uid://c6x4qn8r7k1yr" path="res://.godot/imported/Sprite-0006.png-a2e0eaf7fab93d7494cddea4c83e1dde.ctex" metadata={ "vram_texture": false diff --git a/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0007.png.import b/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0007.png.import index 7891754..9073ad7 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0007.png.import +++ b/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0007.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://3ssyvsrh8w16" +uid="uid://c7wx2h6ra4eyn" path="res://.godot/imported/Sprite-0007.png-ba73abeaa78577753c7d1a60cabbc5d2.ctex" metadata={ "vram_texture": false diff --git a/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0008.png.import b/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0008.png.import index 02fb460..51c2f3d 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0008.png.import +++ b/DungeonShooting_Godot/resource/sprite/role/role0001/backward/Sprite-0008.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://kpveaqso6a6t" +uid="uid://dt0ocjl0doowp" path="res://.godot/imported/Sprite-0008.png-b416ef9be8cbedc81d4a53256f8a9498.ctex" metadata={ "vram_texture": false diff --git a/DungeonShooting_Godot/resource/sprite/role/role0001/dle/Sprite-0002-Sheet-export.png.import b/DungeonShooting_Godot/resource/sprite/role/role0001/dle/Sprite-0002-Sheet-export.png.import index 999c942..deda458 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role0001/dle/Sprite-0002-Sheet-export.png.import +++ b/DungeonShooting_Godot/resource/sprite/role/role0001/dle/Sprite-0002-Sheet-export.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://pktbvypmkryq" +uid="uid://d2tl87f4vgcl4" path="res://.godot/imported/Sprite-0002-Sheet-export.png-2abb636cc5171f887ec942bd98ca08b0.ctex" metadata={ "vram_texture": false diff --git a/DungeonShooting_Godot/resource/sprite/role/role0001/dle/Sprite-0002.png.import b/DungeonShooting_Godot/resource/sprite/role/role0001/dle/Sprite-0002.png.import index 22019bf..80b9926 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role0001/dle/Sprite-0002.png.import +++ b/DungeonShooting_Godot/resource/sprite/role/role0001/dle/Sprite-0002.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://dulpy3ih6ipcc" +uid="uid://bj788pb8rpckl" path="res://.godot/imported/Sprite-0002.png-7eff6999eafc5876b533b2312cd065d5.ctex" metadata={ "vram_texture": false diff --git a/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0002.png.import b/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0002.png.import index f069fae..0898df1 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0002.png.import +++ b/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0002.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://ycubf2jhw3xo" +uid="uid://elnppvl0wo8s" path="res://.godot/imported/Sprite-0002.png-071631cbf3e4907d8ef6d018f7604aed.ctex" metadata={ "vram_texture": false diff --git a/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0003.png.import b/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0003.png.import index 92577df..39dd91a 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0003.png.import +++ b/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0003.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://hunwu6fh3cyu" +uid="uid://csvabgcr1lpkg" path="res://.godot/imported/Sprite-0003.png-358677bca18cac4d1b8ea9279ea6300a.ctex" metadata={ "vram_texture": false diff --git a/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0004.png.import b/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0004.png.import index a3293be..589114b 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0004.png.import +++ b/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0004.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://cwl72p7gap0p7" +uid="uid://qbaic144k6t0" path="res://.godot/imported/Sprite-0004.png-f6093d543ecb8d8231548f55dd0990ab.ctex" metadata={ "vram_texture": false diff --git a/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0005.png.import b/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0005.png.import index b1d7400..6c0827d 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0005.png.import +++ b/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0005.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://dhea745lt3rrv" +uid="uid://d2b6n102rnw7q" path="res://.godot/imported/Sprite-0005.png-c552ad0bee6498090790449be66db4cf.ctex" metadata={ "vram_texture": false diff --git a/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0006.png.import b/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0006.png.import index 33e3d4e..255d80a 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0006.png.import +++ b/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0006.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://c6q7dx7iunmxq" +uid="uid://jps0gijbldju" path="res://.godot/imported/Sprite-0006.png-e1227fdd50ae95e39bb2de41e6b1ca38.ctex" metadata={ "vram_texture": false diff --git a/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0007.png.import b/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0007.png.import index bff42f0..2337053 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0007.png.import +++ b/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0007.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://dpb8x5rv8j1wm" +uid="uid://c8j4xfpk0oalj" path="res://.godot/imported/Sprite-0007.png-828f576b712f54a843f8a774a88ef801.ctex" metadata={ "vram_texture": false diff --git a/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0008.png.import b/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0008.png.import index 0b3e5f9..b9fed63 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0008.png.import +++ b/DungeonShooting_Godot/resource/sprite/role/role0001/run/Sprite-0008.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://c5p56uh0qpn44" +uid="uid://cd5mxl0vkddkn" path="res://.godot/imported/Sprite-0008.png-a7167d5a14030137253ea6b864c2c5d4.ctex" metadata={ "vram_texture": false diff --git a/DungeonShooting_Godot/resource/spriteFrames/role/Enemy0003.tres b/DungeonShooting_Godot/resource/spriteFrames/role/Enemy0003.tres new file mode 100644 index 0000000..935369a --- /dev/null +++ b/DungeonShooting_Godot/resource/spriteFrames/role/Enemy0003.tres @@ -0,0 +1,114 @@ +[gd_resource type="SpriteFrames" load_steps=15 format=3 uid="uid://cnk1wmk3uy4aa"] + +[ext_resource type="Texture2D" uid="uid://d0n3ncp68nnk6" path="res://resource/sprite/role/enemy0003/enemy0003_Icon.png" id="1_4n7kk"] +[ext_resource type="Texture2D" uid="uid://cdf1al6kpv3ta" path="res://resource/sprite/role/enemy0003/enemy0003.png" id="2_gvc60"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_fiqik"] +atlas = ExtResource("2_gvc60") +region = Rect2(0, 24, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_algye"] +atlas = ExtResource("2_gvc60") +region = Rect2(16, 24, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rovd5"] +atlas = ExtResource("2_gvc60") +region = Rect2(32, 24, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_k7bjp"] +atlas = ExtResource("2_gvc60") +region = Rect2(48, 24, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_yyuaf"] +atlas = ExtResource("2_gvc60") +region = Rect2(48, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ijjls"] +atlas = ExtResource("2_gvc60") +region = Rect2(32, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_e2uc8"] +atlas = ExtResource("2_gvc60") +region = Rect2(16, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_id4xp"] +atlas = ExtResource("2_gvc60") +region = Rect2(0, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hof3c"] +atlas = ExtResource("2_gvc60") +region = Rect2(0, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3n1od"] +atlas = ExtResource("2_gvc60") +region = Rect2(16, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3jmh0"] +atlas = ExtResource("2_gvc60") +region = Rect2(32, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ddpq5"] +atlas = ExtResource("2_gvc60") +region = Rect2(48, 48, 16, 24) + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_4n7kk") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_fiqik") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_algye") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rovd5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_k7bjp") +}], +"loop": true, +"name": &"idle", +"speed": 7.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_yyuaf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ijjls") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_e2uc8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_id4xp") +}], +"loop": true, +"name": &"reverseRun", +"speed": 10.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_hof3c") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3n1od") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3jmh0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ddpq5") +}], +"loop": true, +"name": &"run", +"speed": 10.0 +}] diff --git a/DungeonShooting_Godot/resource/spriteFrames/role/Role0001.tres b/DungeonShooting_Godot/resource/spriteFrames/role/Role0001.tres index 99a459a..acc4ab3 100644 --- a/DungeonShooting_Godot/resource/spriteFrames/role/Role0001.tres +++ b/DungeonShooting_Godot/resource/spriteFrames/role/Role0001.tres @@ -1,19 +1,27 @@ -[gd_resource type="SpriteFrames" load_steps=26 format=3 uid="uid://n11thtali6es"] +[gd_resource type="SpriteFrames" load_steps=48 format=3 uid="uid://n11thtali6es"] [ext_resource type="Texture2D" uid="uid://ekas4lqprrml" path="res://resource/sprite/role/role0001/idle/Sprite-0002.png" id="1_le6bk"] +[ext_resource type="Texture2D" uid="uid://d2tl87f4vgcl4" path="res://resource/sprite/role/role0001/dle/Sprite-0002-Sheet-export.png" id="2_8n6o4"] [ext_resource type="Texture2D" uid="uid://b81k08ofpf2oo" path="res://resource/sprite/role/role0001/idle/Sprite-0003.png" id="2_whsc2"] [ext_resource type="Texture2D" uid="uid://obelhor4gdmh" path="res://resource/sprite/role/role0001/idle/Sprite-0004.png" id="3_peq88"] [ext_resource type="Texture2D" uid="uid://dvv73cbc818e4" path="res://resource/sprite/role/role0001/idle/Sprite-0005.png" id="4_arikg"] [ext_resource type="Texture2D" uid="uid://dfom06raof2fw" path="res://resource/sprite/role/role0001/idle/Sprite-0006.png" id="5_0bq3k"] [ext_resource type="Texture2D" uid="uid://c7dsfoaupj4qo" path="res://resource/sprite/role/role0001/idle/Sprite-0007.png" id="6_hw6v8"] [ext_resource type="Texture2D" uid="uid://cwrsm1ui33d6b" path="res://resource/sprite/role/role0001/idle/Sprite-0008.png" id="7_heo28"] -[ext_resource type="Texture2D" uid="uid://clqgeyii6lkm6" path="res://resource/sprite/role/role0001/run/Sprite-0008.png" id="8_scwvl"] -[ext_resource type="Texture2D" uid="uid://dfxsecrlc85pi" path="res://resource/sprite/role/role0001/run/Sprite-0007.png" id="9_yjs5f"] -[ext_resource type="Texture2D" uid="uid://de24cv2v45gkf" path="res://resource/sprite/role/role0001/run/Sprite-0006.png" id="10_uafyp"] -[ext_resource type="Texture2D" uid="uid://pqn660nyk82t" path="res://resource/sprite/role/role0001/run/Sprite-0005.png" id="11_ndgr1"] -[ext_resource type="Texture2D" uid="uid://d32g0f5vk68sj" path="res://resource/sprite/role/role0001/run/Sprite-0004.png" id="12_cbabh"] -[ext_resource type="Texture2D" uid="uid://cw83liyy6gnln" path="res://resource/sprite/role/role0001/run/Sprite-0003.png" id="13_u0cmp"] -[ext_resource type="Texture2D" uid="uid://b1gh481w2xvsl" path="res://resource/sprite/role/role0001/run/Sprite-0002.png" id="14_nlfq5"] +[ext_resource type="Texture2D" uid="uid://clqgeyii6lkm6" path="res://resource/sprite/role/role0001/before/Sprite-0008.png" id="8_scwvl"] +[ext_resource type="Texture2D" uid="uid://cbx2rqaka0ocs" path="res://resource/sprite/role/role0001/backward/Sprite-0002.png" id="9_xjn7y"] +[ext_resource type="Texture2D" uid="uid://dfxsecrlc85pi" path="res://resource/sprite/role/role0001/before/Sprite-0007.png" id="9_yjs5f"] +[ext_resource type="Texture2D" uid="uid://de24cv2v45gkf" path="res://resource/sprite/role/role0001/before/Sprite-0006.png" id="10_uafyp"] +[ext_resource type="Texture2D" uid="uid://0gyjuaeqcqa4" path="res://resource/sprite/role/role0001/backward/Sprite-0003.png" id="10_y65up"] +[ext_resource type="Texture2D" uid="uid://bdf273admb6w" path="res://resource/sprite/role/role0001/backward/Sprite-0004.png" id="11_n5cgn"] +[ext_resource type="Texture2D" uid="uid://pqn660nyk82t" path="res://resource/sprite/role/role0001/before/Sprite-0005.png" id="11_ndgr1"] +[ext_resource type="Texture2D" uid="uid://d32g0f5vk68sj" path="res://resource/sprite/role/role0001/before/Sprite-0004.png" id="12_cbabh"] +[ext_resource type="Texture2D" uid="uid://p8h28jechawi" path="res://resource/sprite/role/role0001/backward/Sprite-0005.png" id="12_v4tvy"] +[ext_resource type="Texture2D" uid="uid://c6x4qn8r7k1yr" path="res://resource/sprite/role/role0001/backward/Sprite-0006.png" id="13_a6idy"] +[ext_resource type="Texture2D" uid="uid://cw83liyy6gnln" path="res://resource/sprite/role/role0001/before/Sprite-0003.png" id="13_u0cmp"] +[ext_resource type="Texture2D" uid="uid://c7wx2h6ra4eyn" path="res://resource/sprite/role/role0001/backward/Sprite-0007.png" id="14_8wkl8"] +[ext_resource type="Texture2D" uid="uid://b1gh481w2xvsl" path="res://resource/sprite/role/role0001/before/Sprite-0002.png" id="14_nlfq5"] +[ext_resource type="Texture2D" uid="uid://dt0ocjl0doowp" path="res://resource/sprite/role/role0001/backward/Sprite-0008.png" id="15_8065h"] [ext_resource type="Texture2D" uid="uid://do6ybmo0r04pp" path="res://resource/sprite/role/role0001/roll/Sprite-0010.png" id="17_e31g7"] [ext_resource type="Texture2D" uid="uid://b3itgraiw7mns" path="res://resource/sprite/role/role0001/roll/Sprite-0011.png" id="18_g0o3y"] [ext_resource type="Texture2D" uid="uid://cisayo3amq6sv" path="res://resource/sprite/role/role0001/roll/Sprite-0012.png" id="19_s6xfs"] @@ -26,6 +34,62 @@ [ext_resource type="Texture2D" uid="uid://b7s4yf5ic37cd" path="res://resource/sprite/role/role0001/roll/Sprite-0017.png" id="24_83arr"] [ext_resource type="Texture2D" uid="uid://c0ik1lwfjlr7y" path="res://resource/sprite/role/role0001/roll/Sprite-0018.png" id="25_6hy4b"] +[sub_resource type="AtlasTexture" id="AtlasTexture_u4d02"] +atlas = ExtResource("2_8n6o4") +region = Rect2(0, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_pnh1y"] +atlas = ExtResource("2_8n6o4") +region = Rect2(48, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gtiys"] +atlas = ExtResource("2_8n6o4") +region = Rect2(96, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_o720b"] +atlas = ExtResource("2_8n6o4") +region = Rect2(144, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1ot4k"] +atlas = ExtResource("2_8n6o4") +region = Rect2(192, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nbogm"] +atlas = ExtResource("2_8n6o4") +region = Rect2(240, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xb60w"] +atlas = ExtResource("2_8n6o4") +region = Rect2(288, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0n8c4"] +atlas = ExtResource("2_8n6o4") +region = Rect2(336, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2cgpn"] +atlas = ExtResource("2_8n6o4") +region = Rect2(384, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mgacx"] +atlas = ExtResource("2_8n6o4") +region = Rect2(432, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ssyna"] +atlas = ExtResource("2_8n6o4") +region = Rect2(480, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_871m0"] +atlas = ExtResource("2_8n6o4") +region = Rect2(528, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kpc6c"] +atlas = ExtResource("2_8n6o4") +region = Rect2(576, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_icnau"] +atlas = ExtResource("2_8n6o4") +region = Rect2(624, 0, 48, 48) + [resource] animations = [{ "frames": [{ @@ -38,6 +102,59 @@ }, { "frames": [{ "duration": 1.0, +"texture": SubResource("AtlasTexture_u4d02") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_pnh1y") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gtiys") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_o720b") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1ot4k") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nbogm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xb60w") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0n8c4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2cgpn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mgacx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ssyna") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_871m0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kpc6c") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_icnau") +}, { +"duration": 1.0, +"texture": null +}, { +"duration": 1.0, +"texture": null +}], +"loop": false, +"name": &"die", +"speed": 13.0 +}, { +"frames": [{ +"duration": 1.0, "texture": ExtResource("1_le6bk") }, { "duration": 1.0, @@ -64,25 +181,25 @@ }, { "frames": [{ "duration": 1.0, -"texture": ExtResource("9_yjs5f") +"texture": ExtResource("9_xjn7y") }, { "duration": 1.0, -"texture": ExtResource("10_uafyp") +"texture": ExtResource("10_y65up") }, { "duration": 1.0, -"texture": ExtResource("11_ndgr1") +"texture": ExtResource("11_n5cgn") }, { "duration": 1.0, -"texture": ExtResource("12_cbabh") +"texture": ExtResource("12_v4tvy") }, { "duration": 1.0, -"texture": ExtResource("13_u0cmp") +"texture": ExtResource("13_a6idy") }, { "duration": 1.0, -"texture": ExtResource("14_nlfq5") +"texture": ExtResource("14_8wkl8") }, { "duration": 1.0, -"texture": ExtResource("8_scwvl") +"texture": ExtResource("15_8065h") }], "loop": true, "name": &"reverseRun", diff --git a/DungeonShooting_Godot/src/config/ExcelConfig.cs b/DungeonShooting_Godot/src/config/ExcelConfig.cs index 42d5e0a..df8bd8d 100644 --- a/DungeonShooting_Godot/src/config/ExcelConfig.cs +++ b/DungeonShooting_Godot/src/config/ExcelConfig.cs @@ -8,31 +8,22 @@ public static partial class ExcelConfig { /// - /// BuffPropBase.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同 + /// ActivePropBase.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同 /// - public static List BuffPropBase_List { get; private set; } + public static List ActivePropBase_List { get; private set; } /// - /// BuffPropBase.xlsx表数据集合, 里 Map 形式存储, key 为 Id + /// ActivePropBase.xlsx表数据集合, 里 Map 形式存储, key 为 Id /// - public static Dictionary BuffPropBase_Map { get; private set; } + public static Dictionary ActivePropBase_Map { get; private set; } /// - /// Sound.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同 + /// ActivityBase.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同 /// - public static List Sound_List { get; private set; } + public static List ActivityBase_List { get; private set; } /// - /// Sound.xlsx表数据集合, 里 Map 形式存储, key 为 Id + /// ActivityBase.xlsx表数据集合, 里 Map 形式存储, key 为 Id /// - public static Dictionary Sound_Map { get; private set; } - - /// - /// WeaponBase.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同 - /// - public static List WeaponBase_List { get; private set; } - /// - /// WeaponBase.xlsx表数据集合, 里 Map 形式存储, key 为 Id - /// - public static Dictionary WeaponBase_Map { get; private set; } + public static Dictionary ActivityBase_Map { get; private set; } /// /// ActivityMaterial.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同 @@ -53,6 +44,15 @@ public static Dictionary AiAttackAttr_Map { get; private set; } /// + /// BuffPropBase.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同 + /// + public static List BuffPropBase_List { get; private set; } + /// + /// BuffPropBase.xlsx表数据集合, 里 Map 形式存储, key 为 Id + /// + public static Dictionary BuffPropBase_Map { get; private set; } + + /// /// BulletBase.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同 /// public static List BulletBase_List { get; private set; } @@ -62,15 +62,6 @@ public static Dictionary BulletBase_Map { get; private set; } /// - /// ActivePropBase.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同 - /// - public static List ActivePropBase_List { get; private set; } - /// - /// ActivePropBase.xlsx表数据集合, 里 Map 形式存储, key 为 Id - /// - public static Dictionary ActivePropBase_Map { get; private set; } - - /// /// EnemyBase.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同 /// public static List EnemyBase_List { get; private set; } @@ -80,15 +71,6 @@ public static Dictionary EnemyBase_Map { get; private set; } /// - /// ActivityBase.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同 - /// - public static List ActivityBase_List { get; private set; } - /// - /// ActivityBase.xlsx表数据集合, 里 Map 形式存储, key 为 Id - /// - public static Dictionary ActivityBase_Map { get; private set; } - - /// /// LiquidMaterial.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同 /// public static List LiquidMaterial_List { get; private set; } @@ -97,6 +79,24 @@ /// public static Dictionary LiquidMaterial_Map { get; private set; } + /// + /// Sound.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同 + /// + public static List Sound_List { get; private set; } + /// + /// Sound.xlsx表数据集合, 里 Map 形式存储, key 为 Id + /// + public static Dictionary Sound_Map { get; private set; } + + /// + /// WeaponBase.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同 + /// + public static List WeaponBase_List { get; private set; } + /// + /// WeaponBase.xlsx表数据集合, 里 Map 形式存储, key 为 Id + /// + public static Dictionary WeaponBase_Map { get; private set; } + private static bool _init = false; /// @@ -107,75 +107,57 @@ if (_init) return; _init = true; - _InitBuffPropBaseConfig(); - _InitSoundConfig(); - _InitWeaponBaseConfig(); + _InitActivePropBaseConfig(); + _InitActivityBaseConfig(); _InitActivityMaterialConfig(); _InitAiAttackAttrConfig(); + _InitBuffPropBaseConfig(); _InitBulletBaseConfig(); - _InitActivePropBaseConfig(); _InitEnemyBaseConfig(); - _InitActivityBaseConfig(); _InitLiquidMaterialConfig(); + _InitSoundConfig(); + _InitWeaponBaseConfig(); - _InitBuffPropBaseRef(); - _InitWeaponBaseRef(); _InitActivePropBaseRef(); - _InitEnemyBaseRef(); _InitActivityBaseRef(); + _InitBuffPropBaseRef(); + _InitEnemyBaseRef(); + _InitWeaponBaseRef(); } - private static void _InitBuffPropBaseConfig() + private static void _InitActivePropBaseConfig() { try { - var text = _ReadConfigAsText("res://resource/config/BuffPropBase.json"); - BuffPropBase_List = new List(JsonSerializer.Deserialize>(text)); - BuffPropBase_Map = new Dictionary(); - foreach (var item in BuffPropBase_List) + var text = _ReadConfigAsText("res://resource/config/ActivePropBase.json"); + ActivePropBase_List = new List(JsonSerializer.Deserialize>(text)); + ActivePropBase_Map = new Dictionary(); + foreach (var item in ActivePropBase_List) { - BuffPropBase_Map.Add(item.Id, item); + ActivePropBase_Map.Add(item.Id, item); } } catch (Exception e) { GD.PrintErr(e.ToString()); - throw new Exception("初始化表'BuffPropBase'失败!"); + throw new Exception("初始化表'ActivePropBase'失败!"); } } - private static void _InitSoundConfig() + private static void _InitActivityBaseConfig() { try { - var text = _ReadConfigAsText("res://resource/config/Sound.json"); - Sound_List = JsonSerializer.Deserialize>(text); - Sound_Map = new Dictionary(); - foreach (var item in Sound_List) + var text = _ReadConfigAsText("res://resource/config/ActivityBase.json"); + ActivityBase_List = new List(JsonSerializer.Deserialize>(text)); + ActivityBase_Map = new Dictionary(); + foreach (var item in ActivityBase_List) { - Sound_Map.Add(item.Id, item); + ActivityBase_Map.Add(item.Id, item); } } catch (Exception e) { GD.PrintErr(e.ToString()); - throw new Exception("初始化表'Sound'失败!"); - } - } - private static void _InitWeaponBaseConfig() - { - try - { - var text = _ReadConfigAsText("res://resource/config/WeaponBase.json"); - WeaponBase_List = new List(JsonSerializer.Deserialize>(text)); - WeaponBase_Map = new Dictionary(); - foreach (var item in WeaponBase_List) - { - WeaponBase_Map.Add(item.Id, item); - } - } - catch (Exception e) - { - GD.PrintErr(e.ToString()); - throw new Exception("初始化表'WeaponBase'失败!"); + throw new Exception("初始化表'ActivityBase'失败!"); } } private static void _InitActivityMaterialConfig() @@ -214,6 +196,24 @@ throw new Exception("初始化表'AiAttackAttr'失败!"); } } + private static void _InitBuffPropBaseConfig() + { + try + { + var text = _ReadConfigAsText("res://resource/config/BuffPropBase.json"); + BuffPropBase_List = new List(JsonSerializer.Deserialize>(text)); + BuffPropBase_Map = new Dictionary(); + foreach (var item in BuffPropBase_List) + { + BuffPropBase_Map.Add(item.Id, item); + } + } + catch (Exception e) + { + GD.PrintErr(e.ToString()); + throw new Exception("初始化表'BuffPropBase'失败!"); + } + } private static void _InitBulletBaseConfig() { try @@ -232,24 +232,6 @@ throw new Exception("初始化表'BulletBase'失败!"); } } - private static void _InitActivePropBaseConfig() - { - try - { - var text = _ReadConfigAsText("res://resource/config/ActivePropBase.json"); - ActivePropBase_List = new List(JsonSerializer.Deserialize>(text)); - ActivePropBase_Map = new Dictionary(); - foreach (var item in ActivePropBase_List) - { - ActivePropBase_Map.Add(item.Id, item); - } - } - catch (Exception e) - { - GD.PrintErr(e.ToString()); - throw new Exception("初始化表'ActivePropBase'失败!"); - } - } private static void _InitEnemyBaseConfig() { try @@ -268,24 +250,6 @@ throw new Exception("初始化表'EnemyBase'失败!"); } } - private static void _InitActivityBaseConfig() - { - try - { - var text = _ReadConfigAsText("res://resource/config/ActivityBase.json"); - ActivityBase_List = new List(JsonSerializer.Deserialize>(text)); - ActivityBase_Map = new Dictionary(); - foreach (var item in ActivityBase_List) - { - ActivityBase_Map.Add(item.Id, item); - } - } - catch (Exception e) - { - GD.PrintErr(e.ToString()); - throw new Exception("初始化表'ActivityBase'失败!"); - } - } private static void _InitLiquidMaterialConfig() { try @@ -304,7 +268,81 @@ throw new Exception("初始化表'LiquidMaterial'失败!"); } } + private static void _InitSoundConfig() + { + try + { + var text = _ReadConfigAsText("res://resource/config/Sound.json"); + Sound_List = JsonSerializer.Deserialize>(text); + Sound_Map = new Dictionary(); + foreach (var item in Sound_List) + { + Sound_Map.Add(item.Id, item); + } + } + catch (Exception e) + { + GD.PrintErr(e.ToString()); + throw new Exception("初始化表'Sound'失败!"); + } + } + private static void _InitWeaponBaseConfig() + { + try + { + var text = _ReadConfigAsText("res://resource/config/WeaponBase.json"); + WeaponBase_List = new List(JsonSerializer.Deserialize>(text)); + WeaponBase_Map = new Dictionary(); + foreach (var item in WeaponBase_List) + { + WeaponBase_Map.Add(item.Id, item); + } + } + catch (Exception e) + { + GD.PrintErr(e.ToString()); + throw new Exception("初始化表'WeaponBase'失败!"); + } + } + private static void _InitActivePropBaseRef() + { + foreach (Ref_ActivePropBase item in ActivePropBase_List) + { + try + { + if (!string.IsNullOrEmpty(item.__Activity)) + { + item.Activity = ActivityBase_Map[item.__Activity]; + } + + } + catch (Exception e) + { + GD.PrintErr(e.ToString()); + throw new Exception("初始化'ActivePropBase'引用其他表数据失败, 当前行id: " + item.Id); + } + } + } + private static void _InitActivityBaseRef() + { + foreach (Ref_ActivityBase item in ActivityBase_List) + { + try + { + if (!string.IsNullOrEmpty(item.__Material)) + { + item.Material = ActivityMaterial_Map[item.__Material]; + } + + } + catch (Exception e) + { + GD.PrintErr(e.ToString()); + throw new Exception("初始化'ActivityBase'引用其他表数据失败, 当前行id: " + item.Id); + } + } + } private static void _InitBuffPropBaseRef() { foreach (Ref_BuffPropBase item in BuffPropBase_List) @@ -324,6 +362,25 @@ } } } + private static void _InitEnemyBaseRef() + { + foreach (Ref_EnemyBase item in EnemyBase_List) + { + try + { + if (!string.IsNullOrEmpty(item.__Activity)) + { + item.Activity = ActivityBase_Map[item.__Activity]; + } + + } + catch (Exception e) + { + GD.PrintErr(e.ToString()); + throw new Exception("初始化'EnemyBase'引用其他表数据失败, 当前行id: " + item.Id); + } + } + } private static void _InitWeaponBaseRef() { foreach (Ref_WeaponBase item in WeaponBase_List) @@ -392,63 +449,6 @@ } } } - private static void _InitActivePropBaseRef() - { - foreach (Ref_ActivePropBase item in ActivePropBase_List) - { - try - { - if (!string.IsNullOrEmpty(item.__Activity)) - { - item.Activity = ActivityBase_Map[item.__Activity]; - } - - } - catch (Exception e) - { - GD.PrintErr(e.ToString()); - throw new Exception("初始化'ActivePropBase'引用其他表数据失败, 当前行id: " + item.Id); - } - } - } - private static void _InitEnemyBaseRef() - { - foreach (Ref_EnemyBase item in EnemyBase_List) - { - try - { - if (!string.IsNullOrEmpty(item.__Activity)) - { - item.Activity = ActivityBase_Map[item.__Activity]; - } - - } - catch (Exception e) - { - GD.PrintErr(e.ToString()); - throw new Exception("初始化'EnemyBase'引用其他表数据失败, 当前行id: " + item.Id); - } - } - } - private static void _InitActivityBaseRef() - { - foreach (Ref_ActivityBase item in ActivityBase_List) - { - try - { - if (!string.IsNullOrEmpty(item.__Material)) - { - item.Material = ActivityMaterial_Map[item.__Material]; - } - - } - catch (Exception e) - { - GD.PrintErr(e.ToString()); - throw new Exception("初始化'ActivityBase'引用其他表数据失败, 当前行id: " + item.Id); - } - } - } private static string _ReadConfigAsText(string path) { var file = FileAccess.Open(path, FileAccess.ModeFlags.Read); diff --git a/DungeonShooting_Godot/src/config/ExcelConfig_EnemyBase.cs b/DungeonShooting_Godot/src/config/ExcelConfig_EnemyBase.cs index 99bf73c..7e9aaa9 100644 --- a/DungeonShooting_Godot/src/config/ExcelConfig_EnemyBase.cs +++ b/DungeonShooting_Godot/src/config/ExcelConfig_EnemyBase.cs @@ -74,10 +74,10 @@ public float TailAfterViewRange; /// - /// 背后的视野半径, 单位像素 + /// 视野角度范围, 角度制 /// [JsonInclude] - public float BackViewRange; + public float ViewAngleRange; /// /// 掉落金币数量区间, 如果为负数或者0则不会掉落金币
@@ -103,7 +103,7 @@ inst.CanPickUpWeapon = CanPickUpWeapon; inst.ViewRange = ViewRange; inst.TailAfterViewRange = TailAfterViewRange; - inst.BackViewRange = BackViewRange; + inst.ViewAngleRange = ViewAngleRange; inst.Gold = Gold; return inst; } diff --git a/DungeonShooting_Godot/src/framework/activity/components/IStateController.cs b/DungeonShooting_Godot/src/framework/activity/components/IStateController.cs new file mode 100644 index 0000000..5fb7c0f --- /dev/null +++ b/DungeonShooting_Godot/src/framework/activity/components/IStateController.cs @@ -0,0 +1,8 @@ + +/// +/// 状态控制器接口 +/// +public interface IStateController +{ + +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/activity/components/StateController.cs b/DungeonShooting_Godot/src/framework/activity/components/StateController.cs index 942dd5f..5c86eb0 100644 --- a/DungeonShooting_Godot/src/framework/activity/components/StateController.cs +++ b/DungeonShooting_Godot/src/framework/activity/components/StateController.cs @@ -5,7 +5,7 @@ /// /// 对象状态机控制器 /// -public class StateController : Component where T : ActivityObject where S : Enum +public class StateController : Component, IStateController where T : ActivityObject where S : Enum { /// /// 获取当前状态 diff --git a/DungeonShooting_Godot/src/game/activity/role/Role.cs b/DungeonShooting_Godot/src/game/activity/role/Role.cs index 7b36d4d..27c7d34 100644 --- a/DungeonShooting_Godot/src/game/activity/role/Role.cs +++ b/DungeonShooting_Godot/src/game/activity/role/Role.cs @@ -824,7 +824,6 @@ return null; } - /// /// 触发使用道具 /// @@ -845,8 +844,8 @@ /// 伤害角度(弧度制) public virtual void HurtHandler(ActivityObject target, int damage, float angle) { - //受伤闪烁, 无敌状态 - if (Invincible) + //受伤闪烁, 无敌状态, 或者已经死亡 + if (Invincible || IsDie) { return; } @@ -893,13 +892,53 @@ if (!IsDie) { IsDie = true; - OnDie(); - //死亡事件 - World.OnRoleDie(this); + + //禁用状态机控制器 + var stateController = GetComponent(typeof(IStateController)); + if (stateController != null) + { + stateController.Enable = false; + } + + //播放死亡动画 + if (AnimationPlayer.HasAnimation(AnimatorNames.Die)) + { + StartCoroutine(DoDieWithAnimationPlayer()); + } + else if (AnimatedSprite.SpriteFrames.HasAnimation(AnimatorNames.Die)) + { + StartCoroutine(DoDieWithAnimatedSprite()); + } + else + { + DoDieHandler(); + } } } } + private IEnumerator DoDieWithAnimationPlayer() + { + AnimationPlayer.Play(AnimatorNames.Die); + yield return ToSignal(AnimationPlayer, AnimationMixer.SignalName.AnimationFinished); + DoDieHandler(); + } + + private IEnumerator DoDieWithAnimatedSprite() + { + AnimatedSprite.Play(AnimatorNames.Die); + yield return ToSignal(AnimatedSprite, AnimatedSprite2D.SignalName.AnimationFinished); + DoDieHandler(); + } + + //死亡逻辑 + private void DoDieHandler() + { + OnDie(); + //死亡事件 + World.OnRoleDie(this); + } + /// /// 播放无敌状态闪烁动画 /// diff --git a/DungeonShooting_Godot/src/game/activity/role/ai/AiRole.cs b/DungeonShooting_Godot/src/game/activity/role/ai/AiRole.cs index e782e18..8d5e16a 100644 --- a/DungeonShooting_Godot/src/game/activity/role/ai/AiRole.cs +++ b/DungeonShooting_Godot/src/game/activity/role/ai/AiRole.cs @@ -1,4 +1,5 @@ +using System; using System.Collections.Generic; using AiState; using Godot; @@ -87,11 +88,11 @@ get => _viewRange; set { - if (_viewRange != value) + if (Math.Abs(_viewRange - value) > 0.001f) { if (ViewAreaCollision != null) { - ViewAreaCollision.Polygon = Utils.CreateSectorPolygon(0, value, 120, 4); + ViewAreaCollision.Polygon = Utils.CreateSectorPolygon(0, value, ViewAngleRange, 4); } } _viewRange = value; @@ -111,6 +112,11 @@ public float TailAfterViewRange { get; set; } = 400; /// + /// 视野角度, 角度制 + /// + public float ViewAngleRange { get; set; } = 150; + + /// /// 攻击间隔时间, 秒 /// public float AttackInterval { get; set; } = 0; @@ -189,6 +195,19 @@ TargetInView = !TargetHasOcclusion && TargetInViewRange; } } + + //更新视野范围 + switch (StateController.CurrState) + { + case AIStateEnum.AiNormal: + case AIStateEnum.AiNotify: + case AIStateEnum.AiAstonished: + ViewRange = DefaultViewRange; + break; + default: + ViewRange = TailAfterViewRange; + break; + } } /// diff --git a/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs b/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs index f057560..82237bc 100644 --- a/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs +++ b/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs @@ -87,6 +87,7 @@ DefaultViewRange = enemyBase.ViewRange; TailAfterViewRange = enemyBase.TailAfterViewRange; AttackInterval = enemyBase.AttackInterval; + ViewAngleRange = enemyBase.ViewAngleRange; roleState.Gold = Mathf.Max(0, Utils.Random.RandomConfigRange(enemyBase.Gold)); return roleState; diff --git a/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs b/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs index 3dd5f63..e0d6d6e 100644 --- a/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs +++ b/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs @@ -41,6 +41,10 @@ /// public virtual void OnAttack() { + if (LookTarget == null) + { + return; + } //攻击特效 var effect = ObjectManager.GetPoolItem(ResourcePath.prefab_effect_weapon_ShotFire0003_tscn); var node = (Node2D)effect; diff --git a/DungeonShooting_Godot/src/game/activity/role/player/Player.cs b/DungeonShooting_Godot/src/game/activity/role/player/Player.cs index ca2e85f..57fec73 100644 --- a/DungeonShooting_Godot/src/game/activity/role/player/Player.cs +++ b/DungeonShooting_Godot/src/game/activity/role/player/Player.cs @@ -264,7 +264,7 @@ } //测试刷地 - DrawLiquid(_brushData2); + //DrawLiquid(_brushData2); } protected override void OnAffiliationChange(AffiliationArea prevArea) @@ -300,6 +300,12 @@ { PlayInvincibleFlashing(RoleState.ShieldInvincibleTime); } + + //血量为0, 扔掉所有武器 + if (Hp <= 0) + { + ThrowAllWeapon(); + } } protected override void OnChangeHp(int hp) @@ -346,12 +352,16 @@ GameCamera.Main.SetFollowTarget(null); BasisVelocity = Vector2.Zero; MoveController.ClearForce(); + Visible = false; - //暂停游戏 - World.Current.Pause = true; - //弹出结算面板 - GameApplication.Instance.Cursor.SetGuiMode(true); - UiManager.Open_Settlement(); + World.CallDelay(0.5f, () => + { + //暂停游戏 + World.Current.Pause = true; + //弹出结算面板 + GameApplication.Instance.Cursor.SetGuiMode(true); + UiManager.Open_Settlement(); + }); } protected override void OnPickUpActiveProp(ActiveProp activeProp) diff --git a/DungeonShooting_Godot/src/game/data/property/AnimatorNames.cs b/DungeonShooting_Godot/src/game/data/property/AnimatorNames.cs index 88ae1af..aa5170c 100644 --- a/DungeonShooting_Godot/src/game/data/property/AnimatorNames.cs +++ b/DungeonShooting_Godot/src/game/data/property/AnimatorNames.cs @@ -101,6 +101,10 @@ /// public static readonly StringName Pull = "pull"; + /// + /// 死亡 + /// + public static readonly StringName Die = "die"; public static readonly StringName HalfStart = "half_start"; public static readonly StringName HalfEnd = "half_end";