diff --git a/src/world/gunkable/gunk_dust.gd b/src/effects/grunk_dust/grunk_dust.gd similarity index 93% rename from src/world/gunkable/gunk_dust.gd rename to src/effects/grunk_dust/grunk_dust.gd index d6e8857..13ea507 100644 --- a/src/world/gunkable/gunk_dust.gd +++ b/src/effects/grunk_dust/grunk_dust.gd @@ -1,4 +1,4 @@ -class_name GunkDust extends GPUParticles3D +class_name GrunkDust extends GPUParticles3D @export var emit_scale := 0.1 diff --git a/src/world/gunkable/gunk_dust.gd.uid b/src/effects/grunk_dust/grunk_dust.gd.uid similarity index 100% rename from src/world/gunkable/gunk_dust.gd.uid rename to src/effects/grunk_dust/grunk_dust.gd.uid diff --git a/src/effects/gunk_dust.tscn b/src/effects/grunk_dust/grunk_dust.tscn similarity index 97% rename from src/effects/gunk_dust.tscn rename to src/effects/grunk_dust/grunk_dust.tscn index 923963e..2135985 100644 --- a/src/effects/gunk_dust.tscn +++ b/src/effects/grunk_dust/grunk_dust.tscn @@ -58,7 +58,7 @@ particles_anim_loop = false material = SubResource("StandardMaterial3D_pjcdo") size = Vector3(0.03, 0.03, 0.03) -[node name="GunkDust" type="GPUParticles3D"] +[node name="GrunkDust" type="GPUParticles3D"] layers = 4 cast_shadow = 0 lifetime = 0.6 diff --git a/src/effects/grunk_splatter/grunk_splatter.gd b/src/effects/grunk_splatter/grunk_splatter.gd index 2c73bf9..d9eb095 100644 --- a/src/effects/grunk_splatter/grunk_splatter.gd +++ b/src/effects/grunk_splatter/grunk_splatter.gd @@ -10,7 +10,7 @@ const SCENE := preload("res://src/effects/grunk_splatter/grunk_splatter.tscn") @onready var splatter_sfx: AudioStreamPlayer3D = %SplatterSFX @onready var sub_splatter: GPUParticles3D = %SubSplatter -@onready var gunk_dust: GPUParticles3D = %GunkDust +@onready var grunk_dust: GPUParticles3D = %GrunkDust # Called when the node enters the scene tree for the first time. @@ -23,7 +23,7 @@ func _ready() -> void: _scale_particles(sub_splatter) # Scale amount of dust - gunk_dust.amount_ratio = 0.5 * effect_scale + grunk_dust.amount_ratio = 0.5 * effect_scale func _scale_particles(emitter: GPUParticles3D) -> void: diff --git a/src/effects/grunk_splatter/grunk_splatter.tscn b/src/effects/grunk_splatter/grunk_splatter.tscn index 581d9c2..0c445fb 100644 --- a/src/effects/grunk_splatter/grunk_splatter.tscn +++ b/src/effects/grunk_splatter/grunk_splatter.tscn @@ -6,7 +6,7 @@ [ext_resource type="AudioStream" uid="uid://di0j2xhgfc78s" path="res://assets/sfx/grunk/splat1.wav" id="3_t00bd"] [ext_resource type="AudioStream" uid="uid://d1w5gfmjj7tjk" path="res://assets/sfx/grunk/splat2.wav" id="4_2iem1"] [ext_resource type="Script" uid="uid://c5o1d2shq2qig" path="res://src/world/game_sound/game_sound_emitter.gd" id="5_2iem1"] -[ext_resource type="PackedScene" uid="uid://c3iv00vmdqxp0" path="res://src/effects/gunk_dust.tscn" id="7_opa8j"] +[ext_resource type="PackedScene" uid="uid://c3iv00vmdqxp0" path="res://src/effects/grunk_dust/grunk_dust.tscn" id="7_opa8j"] [sub_resource type="Gradient" id="Gradient_5xu2x"] offsets = PackedFloat32Array(0, 0.291304, 0.526087, 1) @@ -207,7 +207,7 @@ metadata/_custom_type_script = "uid://c5o1d2shq2qig" [node name="CollisionShape3D" type="CollisionShape3D" parent="SplatterSoundEmitter"] shape = SubResource("SphereShape3D_6adkd") -[node name="GunkDust" parent="." instance=ExtResource("7_opa8j")] +[node name="GrunkDust" parent="." instance=ExtResource("7_opa8j")] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0) emitting = false @@ -221,5 +221,5 @@ process_material = SubResource("ParticleProcessMaterial_opa8j") [connection signal="ready" from="." to="SplatterSoundEmitter" method="emit_sound_here"] [connection signal="ready" from="." to="." method="set_emitting" binds= [true]] [connection signal="ready" from="." to="SubSplatter" method="set_emitting" binds= [true]] -[connection signal="ready" from="." to="GunkDust" method="set_emitting" binds= [true]] +[connection signal="ready" from="." to="GrunkDust" method="set_emitting" binds= [true]] [connection signal="timeout" from="FreeTimer" to="." method="queue_free"] diff --git a/src/equipment/laser_cast/laser_cast.gd b/src/equipment/laser_cast/laser_cast.gd index 346e7d2..c15e2af 100644 --- a/src/equipment/laser_cast/laser_cast.gd +++ b/src/equipment/laser_cast/laser_cast.gd @@ -12,11 +12,11 @@ var gunkable: Gunkable @onready var laser_dust: GPUParticles3D = %LaserDust @onready var glow_light: OmniLight3D = %GlowLight -@onready var gunk_dust: GunkDust = %GunkDust +@onready var grunk_dust: GrunkDust = %GrunkDust func _ready() -> void: - gunk_dust.emit_scale = dust_emission_scale + grunk_dust.emit_scale = dust_emission_scale func _process(_delta: float) -> void: @@ -34,23 +34,27 @@ func _process(_delta: float) -> void: gunk_id = new_gunk_id if gunkable: # Disconnect old signals to avoid emitting from previous node and accumulating connections - if gunkable.painted_at_point.is_connected(gunk_dust._on_gunkable_painted_at_point): - gunkable.painted_at_point.disconnect(gunk_dust._on_gunkable_painted_at_point) + if gunkable.painted_at_point.is_connected(grunk_dust._on_gunkable_painted_at_point): + gunkable.painted_at_point.disconnect(grunk_dust._on_gunkable_painted_at_point) if gunkable.clear_total_updated.is_connected( - gunk_dust._on_gunkable_clear_total_updated + grunk_dust._on_gunkable_clear_total_updated ): gunkable.clear_total_updated.disconnect( - gunk_dust._on_gunkable_clear_total_updated + grunk_dust._on_gunkable_clear_total_updated ) gunkable = Gunkable.get_component(collider) if gunkable: # Connect signals of new gunkable to our gunk dust - if !gunkable.painted_at_point.is_connected(gunk_dust._on_gunkable_painted_at_point): - gunkable.painted_at_point.connect(gunk_dust._on_gunkable_painted_at_point) - if !gunkable.clear_total_updated.is_connected( - gunk_dust._on_gunkable_clear_total_updated + if !gunkable.painted_at_point.is_connected( + grunk_dust._on_gunkable_painted_at_point ): - gunkable.clear_total_updated.connect(gunk_dust._on_gunkable_clear_total_updated) + gunkable.painted_at_point.connect(grunk_dust._on_gunkable_painted_at_point) + if !gunkable.clear_total_updated.is_connected( + grunk_dust._on_gunkable_clear_total_updated + ): + gunkable.clear_total_updated.connect( + grunk_dust._on_gunkable_clear_total_updated + ) laser_dust.emitting = true diff --git a/src/equipment/laser_cast/laser_cast.tscn b/src/equipment/laser_cast/laser_cast.tscn index 374b4ef..de69c0b 100644 --- a/src/equipment/laser_cast/laser_cast.tscn +++ b/src/equipment/laser_cast/laser_cast.tscn @@ -3,8 +3,8 @@ [ext_resource type="Script" uid="uid://bqgi5p5nh6k1l" path="res://src/equipment/laser_cast/laser_cast.gd" id="1_xntcr"] [ext_resource type="PackedScene" uid="uid://oc6t5ubyybsa" path="res://src/effects/laser_dust.tscn" id="2_m5xmf"] [ext_resource type="Script" uid="uid://br7war1wh7wfd" path="res://src/equipment/laser_cast/flicker_light.gd" id="3_bkg64"] -[ext_resource type="PackedScene" uid="uid://c3iv00vmdqxp0" path="res://src/effects/gunk_dust/gunk_dust.tscn" id="4_ekmqg"] -[ext_resource type="Script" uid="uid://b88k7m1mwrd0v" path="res://src/effects/gunk_dust/gunk_dust.gd" id="5_r1geq"] +[ext_resource type="PackedScene" uid="uid://c3iv00vmdqxp0" path="res://src/effects/grunk_dust/grunk_dust.tscn" id="4_ekmqg"] +[ext_resource type="Script" uid="uid://b88k7m1mwrd0v" path="res://src/effects/grunk_dust/grunk_dust.gd" id="5_r1geq"] [node name="LaserCast" type="RayCast3D"] target_position = Vector3(0, 0, -2) @@ -28,7 +28,7 @@ omni_range = 1.0 omni_attenuation = 0.7 script = ExtResource("3_bkg64") -[node name="GunkDust" parent="." instance=ExtResource("4_ekmqg")] +[node name="GrunkDust" parent="." instance=ExtResource("4_ekmqg")] unique_name_in_owner = true emitting = false script = ExtResource("5_r1geq") diff --git a/src/world/gunkable/gunkable.tscn b/src/world/gunkable/gunkable.tscn index da61cb7..85212e2 100644 --- a/src/world/gunkable/gunkable.tscn +++ b/src/world/gunkable/gunkable.tscn @@ -2,7 +2,7 @@ [ext_resource type="Script" uid="uid://co0g2klfmor48" path="res://src/world/gunkable/gunkable.gd" id="1_47xoo"] [ext_resource type="Script" uid="uid://bom5qysgfvap1" path="res://src/world/gunkable/draw_controller.gd" id="2_srn13"] -[ext_resource type="PackedScene" uid="uid://c3iv00vmdqxp0" path="res://src/effects/gunk_dust.tscn" id="3_vad3y"] +[ext_resource type="PackedScene" uid="uid://c3iv00vmdqxp0" path="res://src/effects/grunk_dust/grunk_dust.tscn" id="3_vad3y"] [sub_resource type="CapsuleMesh" id="CapsuleMesh_3mpo3"] radius = 0.1