Refactoring of blob.gd

This commit is contained in:
RealMelwei 2025-10-11 19:37:25 +02:00
parent c558f31583
commit b3b6998e14

View file

@ -1,26 +1,35 @@
extends Node2D
var moving = false
@onready var player = get_tree().get_root().get_node("main/Player")
@onready var target = player.position
var speed = 500
# The target is set on initialization and never updated.
@onready var target = player.position
var reached = false
signal target_reached
func _ready() -> void:
# Wait one second before firing
await get_tree().create_timer(1).timeout
moving = true
func _process(delta: float) -> void:
# Fire towards the center of the cross
if moving:
position += (target - global_position).normalized().rotated(-get_parent().rotation) * speed * delta
# When reaching the center, inform parent node
if((global_position - target).length() < 40):
moving = false
if not reached:
target_reached.emit()
reached = true
# Damage the player on contact
if has_node("Area2D") and $Area2D.overlaps_body(player):
player.hurt(1, global_position-player.position)