30 lines
780 B
GDScript
30 lines
780 B
GDScript
extends Node2D
|
|
class_name Radar
|
|
|
|
@export var threat_packed: PackedScene
|
|
|
|
func declare_threat(node: Node2D) -> void:
|
|
var instance: Threat = threat_packed.instantiate()
|
|
instance.node = node
|
|
add_child(instance)
|
|
|
|
func release_threat(node: Node2D) -> void:
|
|
for i: int in get_child_count():
|
|
var threat: Threat = get_child(i)
|
|
if threat.node == node:
|
|
remove_child(threat)
|
|
return
|
|
|
|
func declare_danger(node: Node2D) -> void:
|
|
for i: int in get_child_count():
|
|
var threat: Threat = get_child(i)
|
|
if threat.node == node:
|
|
threat.declare_danger()
|
|
func release_danger(node: Node2D) -> void:
|
|
for i: int in get_child_count():
|
|
var threat: Threat = get_child(i)
|
|
if threat.node == node:
|
|
threat.release_danger()
|
|
|
|
func _process(_delta: float) -> void:
|
|
global_rotation = 0.0
|