Table of Contents

Class PlacementActionLog

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

Shows recent messages from the grid building plugin actions within the context of the PlacementContainer scope.\n\nListens to both the legacy per-status signals ([signal PlacementState.success], etc.) and the consolidated [signal PlacementState.action_performed] / [signal ManipulationState.action_performed] signals (5.1.0 signal refactoring).

class PlacementActionLog extends PlacementControl
PlacementActionLog

Fields

REQUIRED_DEPENDENCIES

const REQUIRED_DEPENDENCIES: Array[String] = ["_actions", "_building_state", "_manipulation_state", "_mode_state"]

Properties

message_log

Visual output area for where messages go when output from the build log

@export var message_log: RichTextLabel

current_settings

var current_settings = get_settings()

placement_rules

var placement_rules = p_container.get_placement_rules()

issues

var issues: Array[String] = p_report.get_issues()

current_settings

var current_settings = get_settings()

is_successful_value

var is_successful_value: bool = p_results.is_successful()

issues

var issues: Array[String] = p_report.get_issues()

current_settings

var current_settings = get_settings()

max_issues

var max_issues: int = min(issues.size(), current_settings.max_failure_reasons)

message

var message: String = p_data.message + "\n"

current_settings

var current_settings = get_settings()

issues_to_show

var issues_to_show: Array[String] = []

rule_result

var rule_result = p_rule_results[rule_key]

value

var value = obj.get("display_name")

selected_obj

var selected_obj: Object = p_data.build_resource

current_settings

var current_settings = get_settings()

name

var name: String = _resolve_action_label(p_data, p_data.get_preview() != null)

msg

var msg: String = current_settings.mode_change_message if not current_settings.mode_change_message.is_empty() else "Mode changed to: %s"

msg

var msg: String = current_settings.mode_change_message if not current_settings.mode_change_message.is_empty() else "Mode changed to: %s"

current_settings

var current_settings = get_settings()

msg

var msg: String = current_settings.mode_change_message if not current_settings.mode_change_message.is_empty() else "Mode changed to: %s"

is_success

var is_success = p_data.report != null and p_data.report.is_successful()

settings

var settings: ActionLogSettings = get_settings()

is_successful

var is_successful: bool = is_finished and (not p_data.results or p_data.results.is_successful())

color

var color: Color = settings.success_color if is_successful else settings.failed_color

settings

var settings: ActionLogSettings = get_settings()

current_settings

var current_settings = get_settings()

mode_name

var mode_name: String = PlacementEnums.Mode.keys()[p_mode]

msg

var msg: String = current_settings.mode_change_message if not current_settings.mode_change_message.is_empty() else "Mode changed to: %s"

Methods

resolve_placement_dependencies

func resolve_placement_dependencies(p_container : PlacementContainer) -> void:

Parameters

p_container

Returns

clear_log

func clear_log() -> void:

Returns

get_settings

func get_settings() -> ActionLogSettings:

Returns

validate_setup

func validate_setup() -> bool:

Returns

append_validation_results

func append_validation_results(p_results : ValidationResults):

Parameters

p_results

append_placement_report_issues

func append_placement_report_issues(p_report: PlacementReport) -> void:

Parameters

p_report

Returns

append_manipulation

func append_manipulation(p_data : ManipulationData) -> void:

Parameters

p_data

Returns

should_show

func should_show(p_action : PlacementEnums.Action) -> bool:

Parameters

p_action

Returns