Table of Contents

Class RuleCheckIndicatorLogic

Namespace
GridPlacement.GDScript
Assembly
MoonBark.GridPlacement.GDScript.dll

Helper logic and diagnostics for RuleCheckIndicator.\n\nCentralizes small, side-effect-free helpers used by tests and runtime tooling to avoid duplicating formatting and inspection code across test suites.\n\nFunctions here are pure (no printing/logging). Callers decide whether to log or attach strings to assertions.

class RuleCheckIndicatorLogic extends RefCounted
RuleCheckIndicatorLogic

Properties

rules

var rules: Array = []

parts

var parts: Array[String] = []

pass_on_collision

var pass_on_collision: bool = false

mask

var mask: int = -1

cd

var cd = current_display_settings

which

var which = "<none>"

tex

var tex = validity_sprite.texture if validity_sprite != null else null

tex_eq_v

var tex_eq_v = tex == (valid_settings.texture if valid_settings else null)

tex_eq_i

var tex_eq_i = tex == (invalid_settings.texture if invalid_settings else null)

mod

var mod = validity_sprite.modulate if validity_sprite != null else Color.WHITE

rp

var rp = resource_path

collisions

var collisions = ind.get_collision_count() if ind.has_method("get_collision_count") else -1

rp

var rp = resource_path

s

var s = ind.get_script()

parts

var parts: Array[String] = []

pass_on_collision

var pass_on_collision: bool = false

mask

var mask: int = -1

cd

var cd = current_display_settings

which

var which = "<none>"

tex

var tex = validity_sprite.texture if validity_sprite != null else null

tex_eq_v

var tex_eq_v = tex == (valid_settings.texture if valid_settings else null)

tex_eq_i

var tex_eq_i = tex == (invalid_settings.texture if invalid_settings else null)

mod

var mod = validity_sprite.modulate if validity_sprite != null else Color.WHITE

rows

var rows: Array[String] = []

rp

var rp = resource_path

selected_rule

var selected_rule: TileCheckRule = null

selected_priority

var selected_priority: int = -1

failing_rules

var failing_rules: Array[TileCheckRule] = []

failing_indicators

var failing_indicators = failing_checker.call(rule)

is_valid

var is_valid: bool = failing_indicators.size() == 0

displaying_rule

var displaying_rule = find_highest_rule_with_visual_settings(p_display_rules)

Methods

build_rules_diag

static func build_rules_diag(ind: RuleCheckIndicator) -> String:

Parameters

ind

Returns

build_visuals_diag

static func build_visuals_diag(ind: RuleCheckIndicator) -> String:

Parameters

ind

Returns

format_indicator_state

static func format_indicator_state(ind: RuleCheckIndicator, header: String = "", resource_path: String = "") -> String:

Parameters

ind
header
resource_path

Returns

build_rules_diag_from_rules

static func build_rules_diag_from_rules(rules: Array) -> String:

Parameters

rules

Returns

build_visuals_diag_from_parts

static func build_visuals_diag_from_parts(current_display_settings: IndicatorVisualSettings, valid_settings: IndicatorVisualSettings, invalid_settings: IndicatorVisualSettings, validity_sprite: Sprite2D) -> String:

Parameters

current_display_settings
valid_settings
invalid_settings
validity_sprite

Returns

format_indicator_state_from_parts

static func format_indicator_state_from_parts(valid: bool, collisions: int, global_position: Vector2, rules: Array, current_display_settings: IndicatorVisualSettings, valid_settings: IndicatorVisualSettings, invalid_settings: IndicatorVisualSettings, validity_sprite: Sprite2D, header: String = "", resource_path: String = "") -> String:

Parameters

valid
collisions
global_position
rules
current_display_settings
valid_settings
invalid_settings
validity_sprite
header
resource_path

Returns

find_highest_rule_with_visual_settings

static func find_highest_rule_with_visual_settings(p_rules: Array[TileCheckRule]) -> TileCheckRule:

Parameters

p_rules

Returns

validate_rules_from_rules_and_checker

static func validate_rules_from_rules_and_checker(p_rules: Array[TileCheckRule], failing_checker: Callable) -> Array[TileCheckRule]:

Parameters

p_rules
failing_checker

Returns

choose_display_settings

static func choose_display_settings(p_display_rules: Array[TileCheckRule], p_is_valid: bool, valid_settings: IndicatorVisualSettings, invalid_settings: IndicatorVisualSettings) -> IndicatorVisualSettings:

Parameters

p_display_rules
p_is_valid
valid_settings
invalid_settings

Returns