ValidPlacementTileRule

Checks if the tile data meets all required custom data matches

sort Weight: 10

Checks if the tile data meets all required custom data matches

Version: v5.0.0

STABLE

Inherits: TileCheckRule
Source: valid_placement_tile_rule.gd
Parsing: AST-based for maximum accuracy with symbol typing


Methods

_init

Signature: _init(p_expected_tile_data : Dictionary = {}: Variant) -> void

Returns: void

Parameters:

  • p_expected_tile_data : Dictionary = {}: Variant

_ensure_settings

Signature: _ensure_settings() -> ValidPlacementRuleSettings

Lazy initialization of settings - creates default settings if none are provided

Returns: ValidPlacementRuleSettings


setup

Signature: setup(p_gts : GridTargetingState: Variant) -> Array

exist in shape spaces around the object to be placed

Returns: Array

Parameters:

  • p_gts : GridTargetingState: Variant

validate_placement

Signature: validate_placement() -> RuleResult

Check each tile indicator of this test to ensure that they collide with the tilemap

Returns: RuleResult


_get_failing_indicators

Signature: _get_failing_indicators(p_indicators : Array[RuleCheckIndicator]: Variant) -> Array

Returns the failing indicators

Returns: Array

Parameters:

  • p_indicators : Array[RuleCheckIndicator]: Variant

tear_down

Signature: tear_down() -> void

is using this rule

Returns: void


does_tile_have_valid_data

Signature: does_tile_have_valid_data(p_indicator: RuleCheckIndicator, p_maps: Array[TileMapLayer]: Variant) -> bool

p_maps: Array[TileMapLayer] - Array of TileMapLayer or TileMap nodes to check against

Returns: bool

Parameters:

  • p_indicator: RuleCheckIndicator
  • p_maps: Array[TileMapLayer]: Variant

_get_tile_position

Signature: _get_tile_position(map: Node2D, indicator: RuleCheckIndicator) -> Vector2i

Helper function to convert indicator position to tile coordinates

Returns: Vector2i

Parameters:

  • map: Node2D
  • indicator: RuleCheckIndicator

_tile_has_matching_data

Signature: _tile_has_matching_data(map: Node2D, tile_pos: Vector2i) -> bool

Helper function to check if a tile contains any matching custom data

Returns: bool

Parameters:

  • map: Node2D
  • tile_pos: Vector2i

_test_tile_data_for_all_matches

Signature: _test_tile_data_for_all_matches(p_tile_data : TileData: Variant, p_required_custom_data : Dictionary: Variant) -> bool

Checks if the tile data meets all required custom data matches

Returns: bool

Parameters:

  • p_tile_data : TileData: Variant
  • p_required_custom_data : Dictionary: Variant

_post_setup_validation

Signature: _post_setup_validation() -> Array

Returns: Array