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 }