grunk/src/world/spook_manager/spook_manager.gd

47 lines
1.1 KiB
GDScript3
Raw Normal View History

2025-04-10 18:29:00 -06:00
class_name SpookManager extends Resource
## A strategy for handling horror elements through the level.
var debug_set_alert_level: int:
set = _on_alert_raised
func _init() -> void:
Game.manager.alert_raised.connect(_on_alert_raised)
Game.manager.alert_cleared.connect(_on_alert_cleared)
func _on_alert_raised(new_level: int) -> void:
match new_level:
0:
# LEVEL 0: UNAWARE
pass
1:
# LEVEL 1: PASSIVE
# Beast avoids the player.
# Set up meet-spook.
print_debug("Preparing meet-spook...")
# Get closest MeetSpook point to player.
if Player.instance:
var closest := SceneTools.closest_in_group(Player.instance, MeetSpook.GROUP)
(closest as MeetSpook).prepare()
2:
# LEVEL 2: AGGRESSIVE
# Beast pursues player on sight.
pass # TODO
3:
# LEVEL 3: PREDATORY
# Beast pursues player relentlessly.
pass # TODO
4:
# LEVEL 4: SWARMING
# Many beasts spawn, overwhelming the player.
pass # TODO
5:
# LEVEL 5: FUN
# Just kill that fool!
pass # TODO
func _on_alert_cleared() -> void:
pass # TODO