Refactoring of blob.gd
This commit is contained in:
parent
c558f31583
commit
b3b6998e14
1 changed files with 11 additions and 2 deletions
|
|
@ -1,26 +1,35 @@
|
||||||
extends Node2D
|
extends Node2D
|
||||||
|
|
||||||
|
|
||||||
var moving = false
|
var moving = false
|
||||||
@onready var player = get_tree().get_root().get_node("main/Player")
|
@onready var player = get_tree().get_root().get_node("main/Player")
|
||||||
@onready var target = player.position
|
|
||||||
var speed = 500
|
var speed = 500
|
||||||
|
|
||||||
|
# The target is set on initialization and never updated.
|
||||||
|
@onready var target = player.position
|
||||||
|
|
||||||
var reached = false
|
var reached = false
|
||||||
signal target_reached
|
signal target_reached
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
|
||||||
|
# Wait one second before firing
|
||||||
await get_tree().create_timer(1).timeout
|
await get_tree().create_timer(1).timeout
|
||||||
moving = true
|
moving = true
|
||||||
|
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
|
|
||||||
|
# Fire towards the center of the cross
|
||||||
if moving:
|
if moving:
|
||||||
position += (target - global_position).normalized().rotated(-get_parent().rotation) * speed * delta
|
position += (target - global_position).normalized().rotated(-get_parent().rotation) * speed * delta
|
||||||
|
|
||||||
|
# When reaching the center, inform parent node
|
||||||
if((global_position - target).length() < 40):
|
if((global_position - target).length() < 40):
|
||||||
moving = false
|
moving = false
|
||||||
if not reached:
|
if not reached:
|
||||||
target_reached.emit()
|
target_reached.emit()
|
||||||
reached = true
|
reached = true
|
||||||
|
|
||||||
|
# Damage the player on contact
|
||||||
if has_node("Area2D") and $Area2D.overlaps_body(player):
|
if has_node("Area2D") and $Area2D.overlaps_body(player):
|
||||||
player.hurt(1, global_position-player.position)
|
player.hurt(1, global_position-player.position)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue