blob: bbd02a9686662aa97fdba9dfe5bb4b685315ad4a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
extends CharacterBody2D
@onready var component_collision: ComponentCollision = $Collision
@onready var component_movement: ComponentMovement = $Movement
@onready var component_health: ComponentHealth = $Health
func _ready():
add_to_group("enemies")
component_collision.init()
component_collision.collision_area.set_collision_mask_value(Utilities.Collision.Layer.EXPLOSION, false)
component_movement.process_mode = Node.PROCESS_MODE_DISABLED
set_physics_process(false)
$AnimatedSprite2D.play("spawn")
$AnimatedSprite2D.stop()
$AnimatedSprite2D.set_frame_and_progress(0, 0)
$Health.connect("died", func():
$Detection.set_collision_mask_value(Utilities.Collision.Layer.PLAYER, false)
)
func _physics_process(delta):
component_movement.physics_process(delta)
func _on_detection_body_entered(_body):
$AnimatedSprite2D.play("spawn")
await $AnimatedSprite2D.animation_finished
component_collision.collision_area.set_collision_mask_value(Utilities.Collision.Layer.EXPLOSION, true)
component_movement.process_mode = Node.PROCESS_MODE_INHERIT
set_physics_process(true)
|