newlon/scripts/autoloads/level_event_bus.gd
2025-08-03 18:34:54 +05:00

59 lines
1.6 KiB
GDScript

extends Node
@warning_ignore_start("unused_signal")
## Event bus for levels in Liberation Of Neighborville
#region Field
## Emitted when entity is placed by player via seedpacket
signal packet_placed(resource : SeedpacketResource)
#endregion
#region Entity
## Called for every entity that enters game
signal entity_created(entity : Entity)
## Called for every entity that exits game
signal entity_killed(context : Entity.KilledContext)
## Called for every entity that gets damage
signal entity_hp_changed(context : Entity.HPChangedContext)
## Called for every entity that has layer set that enters game
signal layer_entity_created(entity : Entity)
## Called for every entity that has layer set that exits game
signal layer_entity_killed(entity : Entity.KilledContext)
#endregion
#region Seedpacket manipulation
## Called when player selects SeedpacketResource
signal packet_selected(resource : SeedpacketResource)
## Called when player deselects (usually loses focus) SeedpacketResource
signal packet_deselected(resource : SeedpacketResource)
## Called when selected packets are updated
signal hotbar_packets_update(selected : Array[SeedpacketResource])
#endregion
#region Level Running
## Called when huge wave is incoming, yet has not come
signal huge_wave_coming
## Called when huge wave has come
signal huge_wave
## Called when final wave has come
signal final_wave
## Called when game is progressing through level stages
signal state_changed(state : LevelData.LevelStates)
## Called when something requests state to advance
signal state_advance_requested
## Called when sun counter updates to value [code]to[/code]
signal sun_count_updated(to : float)
#endregion