effects system
This commit is contained in:
parent
93e7d28de4
commit
cc1fdd44a4
4 changed files with 30 additions and 4 deletions
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=13 format=3 uid="uid://twqkevpn0q1a"]
|
[gd_scene load_steps=14 format=3 uid="uid://twqkevpn0q1a"]
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://b0gyyb6xwfjex" path="res://base/assets/sprites/test_enemy/0000.png" id="1_7qny8"]
|
[ext_resource type="Texture2D" uid="uid://b0gyyb6xwfjex" path="res://base/assets/sprites/test_enemy/0000.png" id="1_7qny8"]
|
||||||
[ext_resource type="Script" uid="uid://j0w37fjl13ox" path="res://base/scripts/enemies/directional_sprite3d.gd" id="2_hmq60"]
|
[ext_resource type="Script" uid="uid://j0w37fjl13ox" path="res://base/scripts/enemies/directional_sprite3d.gd" id="2_hmq60"]
|
||||||
|
@ -10,6 +10,7 @@
|
||||||
[ext_resource type="Texture2D" uid="uid://bu54h8g5r50qp" path="res://base/assets/sprites/test_enemy/0006.png" id="8_snoby"]
|
[ext_resource type="Texture2D" uid="uid://bu54h8g5r50qp" path="res://base/assets/sprites/test_enemy/0006.png" id="8_snoby"]
|
||||||
[ext_resource type="Texture2D" uid="uid://c57drlhnuicu5" path="res://base/assets/sprites/test_enemy/0007.png" id="9_83myg"]
|
[ext_resource type="Texture2D" uid="uid://c57drlhnuicu5" path="res://base/assets/sprites/test_enemy/0007.png" id="9_83myg"]
|
||||||
[ext_resource type="Script" uid="uid://biqn05eyrhdya" path="res://base/scripts/enemies/floor_mover.gd" id="10_rvsun"]
|
[ext_resource type="Script" uid="uid://biqn05eyrhdya" path="res://base/scripts/enemies/floor_mover.gd" id="10_rvsun"]
|
||||||
|
[ext_resource type="Script" uid="uid://c8ngo2rpuroum" path="res://base/scripts/effects_system/effect_handler.gd" id="11_ajcop"]
|
||||||
|
|
||||||
[sub_resource type="GDScript" id="GDScript_rvsun"]
|
[sub_resource type="GDScript" id="GDScript_rvsun"]
|
||||||
resource_name = "temp"
|
resource_name = "temp"
|
||||||
|
@ -60,3 +61,8 @@ script = SubResource("GDScript_rvsun")
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.766538, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.766538, 0)
|
||||||
shape = SubResource("CapsuleShape3D_rvsun")
|
shape = SubResource("CapsuleShape3D_rvsun")
|
||||||
|
|
||||||
|
[node name="Entity" type="Node" parent="."]
|
||||||
|
|
||||||
|
[node name="EffectHandler" type="Node" parent="."]
|
||||||
|
script = ExtResource("11_ajcop")
|
||||||
|
|
21
base/scripts/effects_system/effect_handler.gd
Normal file
21
base/scripts/effects_system/effect_handler.gd
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
extends Node
|
||||||
|
|
||||||
|
signal effect_added(effect : StringName)
|
||||||
|
signal effect_removed(effect : StringName)
|
||||||
|
|
||||||
|
## Add effect to
|
||||||
|
func add_effect(effectScene : PackedScene):
|
||||||
|
var effect = effectScene.instantiate()
|
||||||
|
effect.owner = owner
|
||||||
|
if get_node(effect.name) != null:
|
||||||
|
remove_effect(effect.name)
|
||||||
|
add_child(effect)
|
||||||
|
effect_added.emit(effect.name)
|
||||||
|
|
||||||
|
func remove_effect(effect : StringName):
|
||||||
|
var path = NodePath(effect)
|
||||||
|
if get_node(path) == null:
|
||||||
|
printerr("Effect does not exist: ", effect)
|
||||||
|
return
|
||||||
|
effect_removed.emit(effect)
|
||||||
|
get_node(path).queue_free()
|
1
base/scripts/effects_system/effect_handler.gd.uid
Normal file
1
base/scripts/effects_system/effect_handler.gd.uid
Normal file
|
@ -0,0 +1 @@
|
||||||
|
uid://c8ngo2rpuroum
|
|
@ -1,4 +1,4 @@
|
||||||
extends Node3D
|
extends Node
|
||||||
|
|
||||||
## Base class for all hp-based objects
|
## Base class for all hp-based objects
|
||||||
class_name Entity
|
class_name Entity
|
||||||
|
@ -68,8 +68,6 @@ func kill(source : Entity):
|
||||||
context.target = self
|
context.target = self
|
||||||
killed.emit(context)
|
killed.emit(context)
|
||||||
GameSignalBus.entity_killed.emit(context)
|
GameSignalBus.entity_killed.emit(context)
|
||||||
|
|
||||||
deconstruct()
|
|
||||||
|
|
||||||
|
|
||||||
## Method used to properly deconstruct entity
|
## Method used to properly deconstruct entity
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue