diff --git a/DungeonShooting_Godot/prefab/bullet/normal/Bullet0005.tscn b/DungeonShooting_Godot/prefab/bullet/normal/Bullet0005.tscn index 0585e3da..fc85de26 100644 --- a/DungeonShooting_Godot/prefab/bullet/normal/Bullet0005.tscn +++ b/DungeonShooting_Godot/prefab/bullet/normal/Bullet0005.tscn @@ -1,11 +1,10 @@ [gd_scene load_steps=12 format=3 uid="uid://cjgnw37tqiqh7"] -[ext_resource type="Script" path="res://src/game/activity/bullet/normal/BrushBullet.cs" id="1_13wdl"] +[ext_resource type="Script" path="res://src/game/activity/bullet/normal/Bullet.cs" id="1_lpj81"] [ext_resource type="Shader" path="res://resource/shader/Blend.gdshader" id="2_v0al6"] [ext_resource type="SpriteFrames" uid="uid://jj8oh76pi53j" path="res://resource/spriteFrames/bullet/Bullet0005.tres" id="3_mmvqn"] [ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/common/Smoke.png" id="4_esjg6"] - [sub_resource type="ShaderMaterial" id="ShaderMaterial_v77gw"] resource_local_to_scene = true shader = ExtResource("2_v0al6") @@ -65,12 +64,10 @@ anim_offset_max = 1.0 collision_layer = 2 collision_mask = 0 platform_wall_layers = 512 -script = ExtResource("1_13wdl") -BrushId = "0004" -EffectiveAltitude = 1.0 +script = ExtResource("1_lpj81") CollisionArea = NodePath("AnimatedSprite/CollisionArea") CollisionShape2D = NodePath("AnimatedSprite/CollisionArea/CollisionShape2D") -Particles2D = [NodePath("AnimatedSprite/GPUParticles2D")] +Particles2D = [] ShadowSprite = NodePath("ShadowSprite") AnimatedSprite = NodePath("AnimatedSprite") Collision = NodePath("Collision") diff --git a/DungeonShooting_Godot/prefab/effect/enemy/EnemyBlood0001.tscn b/DungeonShooting_Godot/prefab/effect/enemy/EnemyBlood0001.tscn index 1ffbf1b4..b6cf821c 100644 --- a/DungeonShooting_Godot/prefab/effect/enemy/EnemyBlood0001.tscn +++ b/DungeonShooting_Godot/prefab/effect/enemy/EnemyBlood0001.tscn @@ -1,7 +1,7 @@ [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="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/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"] @@ -11,7 +11,6 @@ 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 diff --git a/DungeonShooting_Godot/prefab/effect/enemy/EnemyBlood0002.tscn b/DungeonShooting_Godot/prefab/effect/enemy/EnemyBlood0002.tscn index adf0552f..f402fb89 100644 --- a/DungeonShooting_Godot/prefab/effect/enemy/EnemyBlood0002.tscn +++ b/DungeonShooting_Godot/prefab/effect/enemy/EnemyBlood0002.tscn @@ -3,6 +3,21 @@ [ext_resource type="Texture2D" uid="uid://nbwtavmsjps6" path="res://resource/sprite/role/dle_liquid/enemy0001_Icon_liquid.png" id="1_ite3h"] [ext_resource type="Script" path="res://src/game/effects/enemy/EnemyBlood0002.cs" id="2_uof3e"] +[sub_resource type="Animation" id="Animation_p16al"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:region_rect") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Rect2(2.08165e-12, 2.08165e-12, 20, 48)] +} + [sub_resource type="Animation" id="Animation_rir6a"] resource_name = "default" length = 0.2 @@ -34,21 +49,6 @@ tracks/1/keys = { }] } -[sub_resource type="Animation" id="Animation_p16al"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:region_rect") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Rect2(2.08165e-12, 2.08165e-12, 20, 48)] -} - [sub_resource type="AnimationLibrary" id="AnimationLibrary_f1xdh"] _data = { "RESET": SubResource("Animation_p16al"), @@ -56,6 +56,7 @@ _data = { } [node name="EnemyBlood0002" type="Sprite2D"] +modulate = Color(0.992157, 0.788235, 0.788235, 1) texture = ExtResource("1_ite3h") centered = false offset = Vector2(-16, -24) diff --git a/DungeonShooting_Godot/prefab/effect/enemy/EnemyDead0001.tscn b/DungeonShooting_Godot/prefab/effect/enemy/EnemyDead0001.tscn index 990269fd..05177692 100644 --- a/DungeonShooting_Godot/prefab/effect/enemy/EnemyDead0001.tscn +++ b/DungeonShooting_Godot/prefab/effect/enemy/EnemyDead0001.tscn @@ -177,7 +177,7 @@ 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 = Color(0.992157, 0.788235, 0.788235, 0.627451) color_ramp = SubResource("GradientTexture1D_orgu0") anim_offset_max = 1.0 diff --git a/DungeonShooting_Godot/prefab/effect/enemy/EnemyDead0002.tscn b/DungeonShooting_Godot/prefab/effect/enemy/EnemyDead0002.tscn index 30f4965f..3711308b 100644 --- a/DungeonShooting_Godot/prefab/effect/enemy/EnemyDead0002.tscn +++ b/DungeonShooting_Godot/prefab/effect/enemy/EnemyDead0002.tscn @@ -1,11 +1,10 @@ [gd_scene load_steps=19 format=3 uid="uid://nfx3lhkdhv6a"] -[ext_resource type="Script" path="res://src/game/effects/enemy/EnemyDead0002.cs" id="1_ghu6a"] +[ext_resource type="Script" path="res://src/game/activity/common/AutoFreezeObject.cs" id="1_pcn20"] [ext_resource type="Shader" path="res://resource/shader/Blend.gdshader" id="2_q163q"] [ext_resource type="Texture2D" uid="uid://x3tjqgdgp43n" path="res://resource/sprite/role/enemy0002/Enemy0002_dead.png" id="3_l0kbp"] [ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/common/Smoke.png" id="4_2wygu"] - [sub_resource type="ShaderMaterial" id="ShaderMaterial_s1mj2"] resource_local_to_scene = true shader = ExtResource("2_q163q") @@ -101,7 +100,7 @@ anim_offset_max = 1.0 [node name="Effect0002" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")] collision_layer = 128 -script = ExtResource("1_ghu6a") +script = ExtResource("1_pcn20") AnimationName = "dead" AutoToGrey = true ShadowSprite = NodePath("ShadowSprite") diff --git a/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start2/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start2/Preinstall.json index ba6a2a97..e8a09622 100644 --- a/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start2/Preinstall.json +++ b/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start2/Preinstall.json @@ -1 +1 @@ -[{"Name":"Preinstall1","Weight":100,"Remark":"","AutoFill":true,"WaveList":[[{"Position":{"X":-81,"Y":25},"Size":{"X":0,"Y":0},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]},{"Position":{"X":31,"Y":32},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0004","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0003","CurrAmmon":"12","ResidueAmmo":"12"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":-54,"Y":20},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0001","Weight":100,"Attr":{"CurrAmmon":"30","ResidueAmmo":"210"},"Altitude":8,"VerticalSpeed":5.551115E-14}]}]]}] \ No newline at end of file +[{"Name":"Preinstall1","Weight":100,"Remark":"","AutoFill":true,"WaveList":[[{"Position":{"X":-81,"Y":25},"Size":{"X":0,"Y":0},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]},{"Position":{"X":31,"Y":32},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0004","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0003","CurrAmmon":"12","ResidueAmmo":"12"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":-54,"Y":20},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0001","Weight":100,"Attr":{"CurrAmmon":"30","ResidueAmmo":"210"},"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":81,"Y":-1},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0002","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":5.551115E-14}]}]]}] \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/material/SmokeParticleMaterial.tres b/DungeonShooting_Godot/resource/material/SmokeParticleMaterial.tres index 44708297..24cd44a4 100644 --- a/DungeonShooting_Godot/resource/material/SmokeParticleMaterial.tres +++ b/DungeonShooting_Godot/resource/material/SmokeParticleMaterial.tres @@ -17,5 +17,6 @@ gravity = Vector3(0, 0, 0) scale_min = 0.8 scale_max = 0.8 scale_curve = ExtResource("1_yr5l8") +color = Color(0.992157, 0.788235, 0.788235, 0.627451) color_ramp = SubResource("GradientTexture1D_4mhw0") anim_offset_max = 1.0 diff --git a/DungeonShooting_Godot/resource/sprite/brush/Brush4.png b/DungeonShooting_Godot/resource/sprite/brush/Brush4.png index e708eabf..20931447 100644 Binary files a/DungeonShooting_Godot/resource/sprite/brush/Brush4.png and b/DungeonShooting_Godot/resource/sprite/brush/Brush4.png differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0002/enemy0001.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0002/enemy0001.png.import new file mode 100644 index 00000000..619734c4 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0002/enemy0001.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3mgv0utmax42" +path="res://.godot/imported/enemy0001.png-bd4a7798d07cd5f254c33ccbfead77f4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0002/enemy0001.png" +dest_files=["res://.godot/imported/enemy0001.png-bd4a7798d07cd5f254c33ccbfead77f4.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_Icon.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0006/enemy0005_Icon.png.import new file mode 100644 index 00000000..437ce257 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0006/enemy0005_Icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxwjdbql5m2v0" +path="res://.godot/imported/enemy0005_Icon.png-2897ecc50529bab5d0643e849e41cf6f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0006/enemy0005_Icon.png" +dest_files=["res://.godot/imported/enemy0005_Icon.png-2897ecc50529bab5d0643e849e41cf6f.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/enemy0006_Debris.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0006/enemy0006_Debris.png.import new file mode 100644 index 00000000..311c72cd --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0006/enemy0006_Debris.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cm43ngrboceyr" +path="res://.godot/imported/enemy0006_Debris.png-d1fbf79bad5aefa7d37040e3a6e8db7d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0006/enemy0006_Debris.png" +dest_files=["res://.godot/imported/enemy0006_Debris.png-d1fbf79bad5aefa7d37040e3a6e8db7d.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/enemy0007/dle.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0007/dle.png.import new file mode 100644 index 00000000..e9413837 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0007/dle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cwpffv2oan6cy" +path="res://.godot/imported/dle.png-79145da0f375bf73578bd141d00d2ce8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0007/dle.png" +dest_files=["res://.godot/imported/dle.png-79145da0f375bf73578bd141d00d2ce8.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/enemy0007/enemy0005_Icon.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0007/enemy0005_Icon.png.import new file mode 100644 index 00000000..fd58b036 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0007/enemy0005_Icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b7hkqotixfp6c" +path="res://.godot/imported/enemy0005_Icon.png-0a336b66135db16c8e2f50cd4c955d4e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0007/enemy0005_Icon.png" +dest_files=["res://.godot/imported/enemy0005_Icon.png-0a336b66135db16c8e2f50cd4c955d4e.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/enemy0007/enemy0006_Debris.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0007/enemy0006_Debris.png.import new file mode 100644 index 00000000..39165b38 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0007/enemy0006_Debris.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://l8k0hb6v4os3" +path="res://.godot/imported/enemy0006_Debris.png-8d79cda8586b6b07126be2733324473d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0007/enemy0006_Debris.png" +dest_files=["res://.godot/imported/enemy0006_Debris.png-8d79cda8586b6b07126be2733324473d.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/role0002/Role0002_head.png.import b/DungeonShooting_Godot/resource/sprite/role/role0002/Role0002_head.png.import index 4526cc40..254fcebb 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role0002/Role0002_head.png.import +++ b/DungeonShooting_Godot/resource/sprite/role/role0002/Role0002_head.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://cw702ostmv2am" -path="res://.godot/imported/Role0001_head.png-9e4bb55990b7b54630895db4565f621f.ctex" +path="res://.godot/imported/Role0002_head.png-0fc4e9cd8c6dfbfc2886c02f9a6156a8.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://resource/sprite/role/role0001/Role0001_head.png" -dest_files=["res://.godot/imported/Role0001_head.png-9e4bb55990b7b54630895db4565f621f.ctex"] +source_file="res://resource/sprite/role/role0002/Role0002_head.png" +dest_files=["res://.godot/imported/Role0002_head.png-0fc4e9cd8c6dfbfc2886c02f9a6156a8.ctex"] [params] diff --git a/DungeonShooting_Godot/resource/sprite/role/role0002/eat/eat.png.import b/DungeonShooting_Godot/resource/sprite/role/role0002/eat/eat.png.import new file mode 100644 index 00000000..fd9bad9d --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/role0002/eat/eat.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dkqlpt32fo6or" +path="res://.godot/imported/eat.png-e1ed219f030d4904026f5a118b10ffbc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/role0002/eat/eat.png" +dest_files=["res://.godot/imported/eat.png-e1ed219f030d4904026f5a118b10ffbc.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/role0002/idle/idle.png.import b/DungeonShooting_Godot/resource/sprite/role/role0002/idle/idle.png.import new file mode 100644 index 00000000..86f30590 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/role0002/idle/idle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c6q6mg6qf516t" +path="res://.godot/imported/idle.png-9ab7c522bba3fc742b6cace13ceaedde.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/role0002/idle/idle.png" +dest_files=["res://.godot/imported/idle.png-9ab7c522bba3fc742b6cace13ceaedde.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/role0002/run/Sprite.png.import b/DungeonShooting_Godot/resource/sprite/role/role0002/run/Sprite.png.import new file mode 100644 index 00000000..46fb4b0a --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/role0002/run/Sprite.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://00fayflq13rs" +path="res://.godot/imported/Sprite.png-bf7f6826c7373e1221a0a5e7a76364b1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/role0002/run/Sprite.png" +dest_files=["res://.godot/imported/Sprite.png-bf7f6826c7373e1221a0a5e7a76364b1.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/src/framework/map/image/ImageCanvas.cs b/DungeonShooting_Godot/src/framework/map/image/ImageCanvas.cs index ee5a5fe8..8054ad8f 100644 --- a/DungeonShooting_Godot/src/framework/map/image/ImageCanvas.cs +++ b/DungeonShooting_Godot/src/framework/map/image/ImageCanvas.cs @@ -44,6 +44,7 @@ public partial class ImageCanvas : Sprite2D, IDestroy /// 将指定纹理添加到预渲染队列中, 完成后会调用 onDrawingComplete 回调函数 /// /// 需要渲染的纹理 + /// 混色 /// 渲染材质, 不需要则传null /// 离画布左上角x坐标 /// 离画布左上角y坐标 @@ -52,17 +53,18 @@ public partial class ImageCanvas : Sprite2D, IDestroy /// 旋转中心点y /// 是否翻转y轴 /// 绘制完成的回调函数 - public void DrawImageInCanvas(Texture2D texture, Material material, float x, float y, float angle, int centerX, int centerY, bool flipY, Action onDrawingComplete = null) + public void DrawImageInCanvas(Texture2D texture, Color modulate, Material material, float x, float y, float angle, int centerX, int centerY, bool flipY, Action onDrawingComplete = null) { - DrawImageInCanvas(texture, material, x, y, angle, centerX, centerY, flipY, true, onDrawingComplete); + DrawImageInCanvas(texture,modulate, material, x, y, angle, centerX, centerY, flipY, true, onDrawingComplete); } - private void DrawImageInCanvas(Texture2D texture, Material material, float x, float y, float angle, int centerX, int centerY, bool flipY, bool enableQueueCutting, Action onDrawingComplete) + private void DrawImageInCanvas(Texture2D texture, Color modulate, Material material, float x, float y, float angle, int centerX, int centerY, bool flipY, bool enableQueueCutting, Action onDrawingComplete) { var item = new ImageRenderData(); item.OnDrawingComplete = onDrawingComplete; item.EnableQueueCutting = enableQueueCutting; item.ImageCanvas = this; item.SrcImage = texture.GetImage(); + item.Modulate = modulate; item.Material = material; var width = item.SrcImage.GetWidth(); var height = item.SrcImage.GetHeight(); @@ -165,7 +167,7 @@ public partial class ImageCanvas : Sprite2D, IDestroy } DrawImageInCanvas( - shadowSprite.Texture, shadowSprite.Material, + shadowSprite.Texture, shadowSprite.Modulate, shadowSprite.Material, ax + activityObject.ShadowOffset.X, ay + activityObject.ShadowOffset.Y, angle, centerX, centerY, flipY, @@ -187,7 +189,7 @@ public partial class ImageCanvas : Sprite2D, IDestroy } //为了保证阴影在此之前渲染, 所以必须关闭插队渲染 DrawImageInCanvas( - texture, animatedSprite.Material, + texture, animatedSprite.Modulate, animatedSprite.Material, ax, ay, animatedSprite.GlobalRotationDegrees, centerX, centerY, flipY, diff --git a/DungeonShooting_Godot/src/framework/map/image/ImageCanvas_Static.cs b/DungeonShooting_Godot/src/framework/map/image/ImageCanvas_Static.cs index 64a66751..e5c9708b 100644 --- a/DungeonShooting_Godot/src/framework/map/image/ImageCanvas_Static.cs +++ b/DungeonShooting_Godot/src/framework/map/image/ImageCanvas_Static.cs @@ -323,6 +323,7 @@ public partial class ImageCanvas } } + renderSprite.Sprite.Modulate = item.Modulate; renderSprite.Sprite.Material = item.Material; renderSprite.Sprite.Offset = new Vector2(-item.CenterX, -item.CenterY); diff --git a/DungeonShooting_Godot/src/framework/map/image/ImageRenderData.cs b/DungeonShooting_Godot/src/framework/map/image/ImageRenderData.cs index 3087bd9b..02a06a54 100644 --- a/DungeonShooting_Godot/src/framework/map/image/ImageRenderData.cs +++ b/DungeonShooting_Godot/src/framework/map/image/ImageRenderData.cs @@ -14,6 +14,10 @@ public class ImageRenderData /// public Image SrcImage; /// + /// 颜色 + /// + public Color Modulate { get; set; } + /// /// 渲染材质 /// public Material Material; diff --git a/DungeonShooting_Godot/src/game/activity/bullet/normal/BoomBullet.cs b/DungeonShooting_Godot/src/game/activity/bullet/normal/BoomBullet.cs index 129e8554..ec86e93e 100644 --- a/DungeonShooting_Godot/src/game/activity/bullet/normal/BoomBullet.cs +++ b/DungeonShooting_Godot/src/game/activity/bullet/normal/BoomBullet.cs @@ -69,7 +69,7 @@ public partial class BoomBullet : Bullet var texture = ResourceManager.LoadTexture2D(ResourcePath.resource_sprite_explode_Explode_pit0001_png); var tempPos = AffiliationArea.RoomInfo.ToCanvasPosition(pos); AffiliationArea.RoomInfo.StaticImageCanvas.DrawImageInCanvas( - texture, null, tempPos.X, tempPos.Y, Utils.Random.RandomRangeInt(0, 360), + texture, Colors.White, null, tempPos.X, tempPos.Y, Utils.Random.RandomRangeInt(0, 360), texture.GetWidth() / 2, texture.GetHeight() / 2, false ); } diff --git a/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs b/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs index e0d6d6ec..6359971e 100644 --- a/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs +++ b/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs @@ -8,7 +8,7 @@ using Godot; [Tool] public partial class NoWeaponEnemy : Enemy { - private BrushImageData _brushData; + //private BrushImageData _brushData; public override void OnInit() { @@ -17,16 +17,16 @@ public partial class NoWeaponEnemy : Enemy WeaponPack.SetCapacity(0); AnimationPlayer.AnimationFinished += OnAnimationFinished; - _brushData = LiquidBrushManager.GetBrush("0002"); + //_brushData = LiquidBrushManager.GetBrush("0002"); } - protected override void Process(float delta) - { - base.Process(delta); - - //测试笔刷 - DrawLiquid(_brushData); - } + // protected override void Process(float delta) + // { + // base.Process(delta); + // + // //测试笔刷 + // //DrawLiquid(_brushData); + // } public override void Attack() { @@ -68,7 +68,7 @@ public partial class NoWeaponEnemy : Enemy { var realVelocity = GetRealVelocity(); var effPos = Position; - var debris = Create(Ids.Id_enemy_dead0002); + var debris = Create(Ids.Id_enemy_dead0002); debris.PutDown(effPos, RoomLayerEnum.NormalLayer); debris.MoveController.AddForce(Velocity + realVelocity); debris.SetForwardDirection(Face); diff --git a/DungeonShooting_Godot/src/game/effects/enemy/EnemyBlood0002.cs b/DungeonShooting_Godot/src/game/effects/enemy/EnemyBlood0002.cs index 87a762db..a48aeeec 100644 --- a/DungeonShooting_Godot/src/game/effects/enemy/EnemyBlood0002.cs +++ b/DungeonShooting_Godot/src/game/effects/enemy/EnemyBlood0002.cs @@ -13,10 +13,10 @@ public partial class EnemyBlood0002 : Sprite2D private void DoDestory() { var position = _roomInfo.ToCanvasPosition(GlobalPosition); - _roomInfo.StaticImageCanvas.DrawImageInCanvas(Texture, null, position.X, position.Y, RotationDegrees, + _roomInfo.StaticImageCanvas.DrawImageInCanvas(Texture, Modulate, null, position.X, position.Y, RotationDegrees, (int)-Offset.X, (int)-Offset.Y, false, () => { QueueFree(); }); } -} +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/effects/enemy/EnemyDead0002.cs b/DungeonShooting_Godot/src/game/effects/enemy/EnemyDead0002.cs deleted file mode 100644 index c498165f..00000000 --- a/DungeonShooting_Godot/src/game/effects/enemy/EnemyDead0002.cs +++ /dev/null @@ -1,29 +0,0 @@ - -using Godot; - -[Tool] -public partial class EnemyDead0002 : AutoFreezeObject -{ - private BrushImageData _brushData; - - public override void OnInit() - { - base.OnInit(); - _brushData = LiquidBrushManager.GetBrush("0002"); - } - - protected override void Process(float delta) - { - base.Process(delta); - - //测试笔刷 - if (FreezeCount == 0) - { - DrawLiquid(_brushData); - } - else - { - BrushPrevPosition = null; - } - } -} \ 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 9795da1a..c749d3d4 100644 --- a/DungeonShooting_Godot/src/game/manager/ResourcePath.cs +++ b/DungeonShooting_Godot/src/game/manager/ResourcePath.cs @@ -381,6 +381,10 @@ public class ResourcePath public const string resource_sprite_role_scarecrow0001_png = "res://resource/sprite/role/scarecrow0001.png"; public const string resource_sprite_role_role8_png = "res://resource/sprite/role/role8.png"; public const string resource_sprite_role_role9_png = "res://resource/sprite/role/role9.png"; + public const string resource_sprite_role_role0002_Role0002_head_png = "res://resource/sprite/role/role0002/Role0002_head.png"; + public const string resource_sprite_role_role0002_idle_idle_png = "res://resource/sprite/role/role0002/idle/idle.png"; + public const string resource_sprite_role_role0002_eat_eat_png = "res://resource/sprite/role/role0002/eat/eat.png"; + public const string resource_sprite_role_role0002_run_Sprite_png = "res://resource/sprite/role/role0002/run/Sprite.png"; public const string resource_sprite_role_shopBoss0001_ShopBoss0001_png = "res://resource/sprite/role/shopBoss0001/ShopBoss0001.png"; public const string resource_sprite_role_enemy0003_enemy0003_png = "res://resource/sprite/role/enemy0003/enemy0003.png"; public const string resource_sprite_role_enemy0003_enemy0003_Icon_png = "res://resource/sprite/role/enemy0003/enemy0003_Icon.png"; @@ -393,6 +397,7 @@ public class ResourcePath public const string resource_sprite_role_enemy0005_enemy0005_png = "res://resource/sprite/role/enemy0005/enemy0005.png"; public const string resource_sprite_role_enemy0005_enemy0005_Debris_png = "res://resource/sprite/role/enemy0005/enemy0005_Debris.png"; public const string resource_sprite_role_enemy0005_enemy0005_Icon_png = "res://resource/sprite/role/enemy0005/enemy0005_Icon.png"; + public const string resource_sprite_role_enemy0002_enemy0001_png = "res://resource/sprite/role/enemy0002/enemy0001.png"; public const string resource_sprite_role_enemy0002_Enemy0002_png = "res://resource/sprite/role/enemy0002/Enemy0002.png"; public const string resource_sprite_role_enemy0002_Enemy0002_dead_png = "res://resource/sprite/role/enemy0002/Enemy0002_dead.png"; public const string resource_sprite_role_enemy0002_Enemy0002_attack_png = "res://resource/sprite/role/enemy0002/Enemy0002_attack.png"; @@ -446,10 +451,15 @@ public class ResourcePath public const string resource_sprite_role_common_Role_shadow1_png = "res://resource/sprite/role/common/Role_shadow1.png"; public const string resource_sprite_role_common_Role_notify_png = "res://resource/sprite/role/common/Role_notify.png"; public const string resource_sprite_role_enemy0007_enemy005_png = "res://resource/sprite/role/enemy0007/enemy005.png"; + public const string resource_sprite_role_enemy0007_enemy0006_Debris_png = "res://resource/sprite/role/enemy0007/enemy0006_Debris.png"; + public const string resource_sprite_role_enemy0007_enemy0005_Icon_png = "res://resource/sprite/role/enemy0007/enemy0005_Icon.png"; + public const string resource_sprite_role_enemy0007_dle_png = "res://resource/sprite/role/enemy0007/dle.png"; public const string resource_sprite_role_enemy0001_enemy0001_png = "res://resource/sprite/role/enemy0001/enemy0001.png"; public const string resource_sprite_role_enemy0001_enemy0001_Icon副本_png = "res://resource/sprite/role/enemy0001/enemy0001_Icon - 副本.png"; public const string resource_sprite_role_enemy0001_enemy0001_Debris_png = "res://resource/sprite/role/enemy0001/enemy0001_Debris.png"; public const string resource_sprite_role_enemy0006_enemy0005_png = "res://resource/sprite/role/enemy0006/enemy0005.png"; + public const string resource_sprite_role_enemy0006_enemy0006_Debris_png = "res://resource/sprite/role/enemy0006/enemy0006_Debris.png"; + public const string resource_sprite_role_enemy0006_enemy0005_Icon_png = "res://resource/sprite/role/enemy0006/enemy0005_Icon.png"; public const string resource_sprite_box_TreasureBox0001_icon_png = "res://resource/sprite/box/TreasureBox0001_icon.png"; public const string resource_sprite_box_TreasureBox0001_png = "res://resource/sprite/box/TreasureBox0001.png"; public const string resource_sprite_shootFire_ShotFire0001_png = "res://resource/sprite/shootFire/ShotFire0001.png"; diff --git a/DungeonShooting_Godot/src/test/TestOptimizeSprite.cs b/DungeonShooting_Godot/src/test/TestOptimizeSprite.cs index 2d5b32cd..6f89f0b0 100644 --- a/DungeonShooting_Godot/src/test/TestOptimizeSprite.cs +++ b/DungeonShooting_Godot/src/test/TestOptimizeSprite.cs @@ -25,7 +25,7 @@ public partial class TestOptimizeSprite : Node2D var centerX = Utils.Random.RandomRangeInt(0, texture.GetWidth()); var centerY = Utils.Random.RandomRangeInt(0, texture.GetHeight()); var angle = Utils.Random.RandomRangeInt(0, 360); - imageCanvas.DrawImageInCanvas(texture, null, x, y, + imageCanvas.DrawImageInCanvas(texture, Colors.White, null, x, y, angle, centerX, centerY, Utils.Random.RandomBoolean(), () => {