64 lines
1.6 KiB
GDScript
64 lines
1.6 KiB
GDScript
extends Node
|
|
|
|
## Event bus for levels in Liberation Of Neighborville
|
|
|
|
class_name LevelSignals
|
|
|
|
#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)
|
|
|
|
#endregion
|
|
|
|
#region Seedpacket manipulation
|
|
|
|
## Called when player selects EntityResource
|
|
signal packet_selected(packet : EntityResource)
|
|
|
|
## Called when player selects EntityResource during game phase
|
|
signal packet_selected_during_game(packet : EntityResource)
|
|
|
|
## Called when something requests EntityResource to be added to hotbar collection
|
|
signal requested_packet_add
|
|
|
|
## Called when something requests EntityResource to be deleted from hotbar collection
|
|
signal requested_packet_remove
|
|
|
|
## Called when selected packets are updated
|
|
signal hotbar_packets_update(selected : Array[EntityResource])
|
|
#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 : LevelStates)
|
|
|
|
## Called when something requests state to advance
|
|
signal state_advance_requested
|
|
#endregion
|
|
|
|
|
|
## Possible states of level
|
|
enum LevelStates {
|
|
## The game is during plant pick stage
|
|
PlantPick,
|
|
## The game is not yet started
|
|
Pregame,
|
|
## Game started
|
|
Game,
|
|
## Game ended
|
|
Postgame
|
|
}
|