generated from krampus/template-godot4
30 lines
692 B
GDScript
30 lines
692 B
GDScript
class_name MeetSpook extends Marker3D
|
|
## Source for a "meet-spook" event.
|
|
##
|
|
## When the event conditions are met, the MeetSpook closest to the player prepares contextual
|
|
## resources for the event.
|
|
|
|
const GROUP := "MeetSpookSource"
|
|
|
|
@export var mob_scene: PackedScene
|
|
@export var spawners: Array[MeetSpookSpawner] = []
|
|
|
|
var event_prepared := false
|
|
|
|
|
|
func prepare() -> void:
|
|
if event_prepared:
|
|
return
|
|
|
|
for spawner: MeetSpookSpawner in spawners:
|
|
var instance: MeetSpookMob = mob_scene.instantiate()
|
|
instance.source = self
|
|
spawner.spawn(instance)
|
|
event_prepared = true
|
|
|
|
|
|
func resolve() -> void:
|
|
for spawner: MeetSpookSpawner in spawners:
|
|
spawner.resolve()
|
|
event_prepared = false
|