Table of Contents

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 GBResource
GridTargetingSettings

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 GBActions 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: GBEnums.CenteringMode = GBEnums.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]:

Returns