generated from krampus/template-godot4
47 lines
1.1 KiB
GDScript3
47 lines
1.1 KiB
GDScript3
|
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
|