ValidPlacementTileRule
Checks if the tile data meets all required custom data matches
Checks if the tile data meets all required custom data matches
Version: v5.0.0
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: RuleCheckIndicatorp_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: Node2Dindicator: 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: Node2Dtile_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: Variantp_required_custom_data : Dictionary: Variant
_post_setup_validation
Signature: _post_setup_validation() -> Array
Returns: Array