Grid Placement
Development ⚠️ GridPlacement 6.0 (GECS) is in active development. This is the GDScript ECS architecture.

GridPositioningSystem

AUTO-GENERATED (GDScript) API entry

AUTO-GENERATED FILE — DO NOT EDIT MANUALLY

Source: systems/grid/grid_positioning_system.gd

Version: 6.0

class_name: GridPositioningSystem extends: System

Signals

(none)

Exports

  • default_grid_size: Vector2i = Vector2i(32, 32)
    • Performance settings
    • Private state
  • default_alignment: GridPositionerComponent
    • Performance settings
    • Private state
  • enable_global_constraints: bool = false
    • Performance settings
    • Private state
  • global_min_position: Vector2i = Vector2i(-1000, -1000)
    • Performance settings
    • Private state
  • global_max_position: Vector2i = Vector2i(1000, 1000)
    • Performance settings
    • Private state
  • update_frequency: float = 30.0
    • Private state
  • batch_size: int = 50
    • Private state
  • cull_distance: float = 1000.0
    • Private state

Methods

  • query -> QueryBuilder
  • process(entities: Array, components: Array, delta: float) -> void
  • setup -> void
    • Initialize positioning entities
  • cleanup -> void
    • Clear positioning entities
  • _process_grid_positioners_batched(entities: Array, grid_positioners: Array, delta: float) -> float
  • _process_grid_positioner(entity: Entity, grid_positioner: GridPositionerComponent, grid_position: GridPositionComponent, delta: float) -> void
  • _get_reference_grid_position(reference_entity: Entity) -> Vector2i
  • _apply_positioning_mode(grid_positioner: GridPositionerComponent, grid_pos: GridPositionComponent) -> void
    • Apply grid positioner settings to grid position
  • _apply_alignment_to_grid(grid_pos: Vector2i, alignment: GridPositionerComponent) -> Vector2i
  • _apply_visual_effects(grid_positioner: GridPositionerComponent) -> void
    • This would integrate with rendering systems
  • _setup_positioning_entities -> void
    • Create positioning entities for different purposes
  • _apply_global_constraints(entities: Array, grid_positioners: Array) -> void
  • create_grid_positioner(entity: Entity, mode: GridPositionerComponent) -> Entity
    • Configure grid positioner
  • remove_grid_positioner(positioner_entity: Entity) -> void
  • update_grid_positioner(entity: Entity, position: Vector2) -> void
  • update_grid_positioner_at_grid(entity: Entity, grid_pos: Vector2i) -> void
  • get_grid_positioner(entity: Entity) -> GridPositionerComponent
  • get_all_grid_positioners -> Array
  • get_grid_positioners_by_mode(mode: GridPositionerComponent) -> Array
  • get_grid_positioners_in_area(bounds: Rect2) -> Array
  • get_grid_positioners_in_bounds(min_pos: Vector2i, max_pos: Vector2i) -> Array
  • _grid_to_world(grid_pos: Vector2i) -> Vector2
    • This should be implemented based on grid configuration
  • _world_to_grid(world_pos: Vector2) -> Vector2i
    • This should be implemented based on grid configuration
  • _snap_to_grid(grid_pos: Vector2i) -> Vector2i
  • to_string -> String
  • set_global_grid_size(size: Vector2i) -> void
  • set_global_alignment(alignment: GridPositionerComponent) -> void
  • set_global_constraints(min_pos: Vector2i, max_pos: Vector2i) -> void
  • clear_all_grid_positioners -> void
  • get_grid_positioner_at_position(position: Vector2) -> GridPositionerComponent
  • get_grid_positioner_at_grid(grid_pos: Vector2i) -> GridPositionerComponent
  • update_all_with_reference(reference_entity: Entity, position: Vector2) -> void
  • update_all_with_area_bounds(bounds: Rect2, size: Vector2 = Vector2(100, 100)
  • get_all_grid_positions -> Array
  • get_all_world_positions -> Array
  • get_entity_positioning_statistics(entity: Entity) -> Dictionary
  • reset_all_grid_positioners -> void
  • create_temporary_positioner -> Entity
  • remove_temporary_positioner(entity: Entity) -> void