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
indheaderresource_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_settingsvalid_settingsinvalid_settingsvalidity_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
validcollisionsglobal_positionrulescurrent_display_settingsvalid_settingsinvalid_settingsvalidity_spriteheaderresource_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_rulesfailing_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_rulesp_is_validvalid_settingsinvalid_settings