Host orchestrator for the Grid Building plugin. One Node, one _unhandled_input, one [PlacementServiceGroup]. The host owns infrastructure (input handler, mode machine) and a settings-driven service group. The group holds only the domain services the game actually needs — a terrain-only game doesn't pay for [ManipulationService2D]. Architecture: - [b]Game-scoped[/b] settings ([GridPlacementSettings]) determine which domain services exist. - [b]Player-scoped[/b] state ([PlacementSession]) provides the states, logger, and contexts that services operate on.
- The host owns the single [code]_unhandled_input[/code], the session registry (split-screen), and the intent dispatch.
Source: addons/grid_placement/systems/host/grid_placement_host.gd
Syntax
class GridPlacementHost extends NodeMembers
| Name | Kind | Summary |
|---|---|---|
grid_placement_bundle | Property | Game scoped settings for Grid Placement |
intent | Property | |
session | Property | |
register_session | Method | |
unregister_session | Method | |
keys_to_erase | Property | |
controller | Property | |
removed_session | Property | |
devices_to_erase | Property | |
ref | Property | |
get_session_for_controller | Method | |
ref | Property | |
controller | Property | |
session | Property | |
get_active_sessions | Method | |
sessions | Property | |
get_session_registry_count | Method | |
keys_to_erase | Property | |
devices_to_erase | Property | |
ref | Property | |
configure | Method | |
building_system | Property | |
terrain_ctx | Property | |
actions | Property | |
is_ready | Method | |
session | Property | |
get_runtime_issues | Method | |
issues | Property | |
session | Property | |
get_session | Method | |
session | Property | |
get_settings | Method | |
session | Property | |
get_actions | Method | |
session | Property | |
get_templates | Method | |
session | Property | |
get_catalog | Method | |
session | Property | |
get_runtime_checks | Method | |
settings | Property | |
get_input_handler | Method | |
get_last_dispatch_result | Method | |
get_place_machine | Method | |
machine | Property | |
states | Property | |
states | Property | |
callback | Property | |
callback | Property | |
callback | Property | |
enter_terrain_mode | Method | |
ctx | Property | |
set_brush_shape | Method | |
get_terrain_service | Method | |
get_manipulation_service | Method | |
get_grid_targeting_service | Method | |
get_brush_coordinator | Method | |
get_refund_service | Method | |
get_drag_service | Method | |
session | Property | |
states | Property | |
pos_3d | Property | |
pos | Property | |
building | Property | |
has_placeable | Property | |
has_terrain | Property | |
mode | Property | |
intent | Property | |
heal_session | Property | |
session | Property | |
line_cell | Property | |
queued_intents | Property | |
session | Property | |
drag_cells | Property | |
terrain_name | Property | |
terrain_issue | Property | |
cell_3d | Property | |
cell | Property | |
demolish_issue | Property | |
demolish_cell_3d | Property |
Source
addons/grid_placement/systems/host/grid_placement_host.gd
Plugin docs root:gdscript/plugins/grid_placement_dev/docs