Table of Contents

Class GridBuildingAnalyzer

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

Grid Building System Analysis Tool\n\nProvides detailed analysis of grid building system components for debugging. This is plugin-specific (not project-agnostic) and can safely reference grid building plugin classes like PlacementSystem, GridTargetingSystem, etc.\n\nUnlike the runtime scene analyzer which is project-agnostic, this analyzer is designed specifically for the grid building plugin and knows about all the plugin's internal classes and their expected configurations.\n\nUsage: var analyzer = GridBuildingAnalyzer.new() var analysis = analyzer.analyze_scene(scene_root) print(analysis)

class GridBuildingAnalyzer extends RefCounted
GridBuildingAnalyzer

Properties

analysis

var analysis = []

injector_analysis

var injector_analysis = _analyze_injector_system(scene_root)

systems_analysis

var systems_analysis = _analyze_systems(scene_root)

positioner_analysis

var positioner_analysis = _analyze_grid_positioner(scene_root)

level_analysis

var level_analysis = _analyze_level_context(scene_root)

issues_analysis

var issues_analysis = _analyze_configuration_issues(scene_root)

analysis

var analysis = []

injector

var injector = _find_node_by_type(scene_root, "GBInjectorSystem")

container

var container = _find_node_by_name(scene_root, container_name)

analysis

var analysis = []

analysis

var analysis = []

building_system

var building_system = _find_node_by_type(scene_root, "PlacementSystem")

building_state

var building_state = building_system.get_building_state()

placement_manager

var placement_manager = building_state.get_placement_manager()

targeting_system

var targeting_system = _find_node_by_type(scene_root, "GridTargetingSystem")

targeting_state

var targeting_state = targeting_system.get_targeting_state()

ready_status

var ready_status = targeting_state.ready if "ready" in targeting_state else "unknown"

positioner

var positioner = _find_node_by_name(scene_root, "GridPositioner")

target_map

var target_map = targeting_state.target_map if "target_map" in targeting_state else null

analysis

var analysis = []

positioner

var positioner = _find_node_by_name(scene_root, "GridPositioner")

validation_issues

var validation_issues = grandchild.get_runtime_issues()

analysis

var analysis = []

level_context

var level_context = _find_node_by_type(scene_root, "GBLevelContext")

level_containers

var level_containers = ["IsometricLevel", "PlatformerLevel", "Level"]

container

var container = _find_node_by_name(scene_root, container_name)

analysis

var analysis = []

issues

var issues = []

targeting_system

var targeting_system = _find_node_by_type(scene_root, "GridTargetingSystem")

targeting_state

var targeting_state = targeting_system.get_targeting_state()

script_path

var script_path = root.get_script().get_path()

script_file

var script_file = script_path.get_file().get_basename()

found

var found = _find_node_by_name(child, node_name)

found

var found = _find_node_by_name(child, node_name)

Methods

analyze_scene

func analyze_scene(scene_root: Node) -> String:

Parameters

scene_root

Returns