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