Class GridTargetingSettings
- Namespace
- GridPlacement.GDScript
- Assembly
- MoonBark.GridPlacement.GDScript.dll
Settings related to targeting tiles and the pathing that goes between them
class GridTargetingSettings extends PlacementResource
Properties
limit_to_adjacent
Emitted when the show_debug property changes value Note: Per-property legacy signals were removed; use notify_property_list_changed for change observation. When set, limits tile section to only the character adjacent tile that is in the direction of the cirspr location
@export var limit_to_adjacent = false
max_tile_distance
The number of tiles distance away from the limit target (if one is set) that the pointer tile can be
@export_range(0, 20, 1, "or_greater") var max_tile_distance: int = 3
restrict_to_map_area
Makes it so the cursor can only move to areas with valid tiles on the target map layer or can move freely with snapping when false
@export var restrict_to_map_area = false
show_debug
Whether to show debug information for targeting systems
@export var show_debug: bool = false:
enable_mouse_input
Toggle whether the GridPositioner2D will move with mouse input or not
@export var enable_mouse_input: bool = true
enable_keyboard_input
Toggle whether the GridPositioner will move with keyboard input or not. You must define the positioner input actions defined in the PlacementActions resource
@export var enable_keyboard_input: bool = false
enable_rotation_input
Toggle whether the GridPositioner2D can rotate objects with rotation input (if a target object is present) When enabled, rotate_left and rotate_right actions will rotate the targeted object in 90-degree increments
@export var enable_rotation_input: bool = false
remain_active_in_off_mode
Controls whether GridPositioner2D remains active during OFF mode\n\nWhen true: The positioner continues to respond to mouse/keyboard input and can move/recenter even when the targeting mode is set to OFF. Useful for demo scenes, level editors, or debug tools where the cursor should remain interactive outside of build mode.\n\nWhen false: The positioner ignores all input and positioning commands when in OFF mode, effectively disabling cursor movement and recentering until a different mode (MOVE, DEMOLISH, etc.) is activated.\n\nDefault: false (positioner disabled in OFF mode for typical gameplay)
@export var remain_active_in_off_mode: bool = false
manual_recenter_mode
Manual recenter mode for GridPositioner2D input actions
@export var manual_recenter_mode: PlacementEnums.CenteringMode = PlacementEnums.CenteringMode.CENTER_ON_SCREEN
position_on_enable_policy
Recenter policy on enable: choose where to place the positioner when input is (re)enabled NONE: Do nothing (no recenter) LAST_SHOWN: Use last known/cached world position if available; fallback to mouse/camera per input settings VIEW_CENTER: Center on the viewport/camera center MOUSE_CURSOR:Center on the mouse cursor (uses cached event world if available; may fallback to camera center)
@export var position_on_enable_policy: RecenterOnEnablePolicy = RecenterOnEnablePolicy.MOUSE_CURSOR
hide_on_handled
Controls whether the grid positioner hides when mouse input is handled by UI.\n\nWhen [code]true[/code], the positioner will hide if: - Mouse input is enabled ([member enable_mouse_input] is [code]true[/code]) - A mouse event was consumed/handled by UI elements (not reaching the game world)\n\nWhen [code]false[/code] or when mouse input is disabled, the positioner remains visible regardless of UI mouse handling.\n\n[b]Note:[/b] This setting only applies when [member enable_mouse_input] is [code]true[/code]. If mouse input is disabled, [code]hide_on_handled[/code] has no effect.\n\n[b]Behavior Examples:[/b] - Mouse enabled + hide_on_handled=true + UI consumes mouse = Hidden - Mouse enabled + hide_on_handled=false + UI consumes mouse = Visible - Mouse disabled + hide_on_handled=true + any mouse state = Visible (ignored)
@export var hide_on_handled: bool = true
region_size
@export var region_size = Vector2i(50, 50):
cell_shape
@export var cell_shape = AStarGrid2D.CellShape.CELL_SHAPE_SQUARE:
diagonal_mode
What moves are allowed in a single change of grid space for grid pathing
@export var diagonal_mode = AStarGrid2D.DiagonalMode.DIAGONAL_MODE_ALWAYS:
default_compute_heuristic
Formula for calculating AStarGrid2D movement cost When created, sets the default_default_compute_heuristic on the AStarGrid2D of the GridTargetingSystem
@export var default_compute_heuristic = AStarGrid2D.HEURISTIC_EUCLIDEAN:
default_estimate_heuristic
Formula for calculating AStarGrid2D movement cost When created, sets the default_default_estimate_heuristic on the AStarGrid2D of the GridTargetingSystem
@export var default_estimate_heuristic = AStarGrid2D.HEURISTIC_EUCLIDEAN:
issues
var issues: Array[String] = []
Methods
get_editor_issues
func get_editor_issues() -> Array[String]:
Returns
get_runtime_issues
func get_runtime_issues() -> Array[String]: