Table of Contents

Class GBDiagnostics

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

GBDiagnostics — runtime/shared diagnostics helpers Provide small, safe, static helpers for generating diagnostic strings that can be reused by runtime code and tests.\n\nNotes: - Keep these functions side-effect free (no printing) so callers may log or assert as they prefer.

class GBDiagnostics extends RefCounted
GBDiagnostics

Properties

v

var v = OS.get_environment("GB_VERBOSE_TESTS")

parts

var parts: Array[String] = []

display_name

var display_name: String = ""

pos_str

var pos_str: String = ""

extra

var extra: String = ""

rules_arr

var rules_arr: Array = []

parts

var parts: Array[String] = []

lines

var lines: Array = []

parts

var parts: Array[String] = []

n

var n: Node = c as Node

entry

var entry = stack[i]

src

var src: String = "<unknown>"

line_num

var line_num: int = 0

func_name

var func_name: String = "<anon>"

n

var n: Node = c as Node

hidden_ancestor

var hidden_ancestor = "<none>"

p

var p: Node = node

self_ci

var self_ci: CanvasItem = node as CanvasItem

self_alpha

var self_alpha = "n/a"

self_z

var self_z = "n/a"

self_vis_in_tree

var self_vis_in_tree = "n/a"

visual_alpha

var visual_alpha = "n/a"

visual_z

var visual_z = "n/a"

visual_vis_in_tree

var visual_vis_in_tree = "n/a"

visual_info

var visual_info = "<none>"

cam_cur

var cam_cur = cam != null and cam.is_current()

node_pos

var node_pos = Vector2.ZERO

co

var co: CollisionObject2D = obj as CollisionObject2D

bits

var bits: Array[int] = []

ok

var ok: bool = co.get_collision_layer_value(i)

count

var count: int = shape_cast.get_collision_count()

colliders_info

var colliders_info: Array[String] = []

c

var c: Object = shape_cast.get_collider(i)

n

var n: Node = c as Node

cls_name

var cls_name = ci.get_class()

base

var base = "%s(%s) vis=%s tree=%s a=%.2f z=%s pos=%s scale=%s" % [ci.name, cls_name, str(ci.visible), str(ci.is_visible_in_tree()), ci.self_modulate.a, str(ci.z_index), str(ci.global_position), str(ci.scale)]

sp

var sp: Sprite2D = ci as Sprite2D

tx

var tx: Texture2D = sp.texture

aspr

var aspr: AnimatedSprite2D = ci as AnimatedSprite2D

vp_rect

var vp_rect = vp.get_visible_rect()

half

var half = vp_rect.size * 0.5 * cam.zoom

cam_center

var cam_center: Vector2

minv

var minv: Vector2 = bounds["world_min"]

maxv

var maxv: Vector2 = bounds["world_max"]

bounds

var bounds = camera_world_bounds(cam, vp)

inside

var inside = is_inside_camera_bounds(bounds, positioner_pos)

pos_tile

var pos_tile = Vector2i.ZERO

mouse_tile

var mouse_tile = Vector2i.ZERO

delta_tiles

var delta_tiles = Vector2i(mouse_tile.x - pos_tile.x, mouse_tile.y - pos_tile.y)

map_position

var map_position: Vector2

Methods

format_debug

static func format_debug(message: String, suite: String = "", file_path: String = "") -> String:

Parameters

message
suite
file_path

Returns

format_indicator

static func format_indicator(indicator: Object) -> String:

Parameters

indicator

Returns

format_tile_list

static func format_tile_list(tile_list: Array) -> String:

Parameters

tile_list

Returns

format_indicator_list

static func format_indicator_list(prefix: String, indicators: Array, _cls_name: String = "", _file_path: String = "") -> String:

Parameters

prefix
indicators
_cls_name
_file_path

Returns

format_stack_summary

static func format_stack_summary(stack: Array, max_entries: int = 6) -> String:

Parameters

stack
max_entries

Returns

format_node_label

static func format_node_label(obj: Object) -> String:

Parameters

obj

Returns

format_visibility_context

static func format_visibility_context(node: Node, visual: CanvasItem, vp: Viewport, cam: Camera2D) -> String:

Parameters

node
visual
vp
cam

Returns

describe_collision_layers

static func describe_collision_layers(obj: Object) -> Array[int]:

Parameters

obj

Returns

format_shape_cast_collisions

static func format_shape_cast_collisions(shape_cast: ShapeCast2D) -> String:

Parameters

shape_cast

Returns

format_canvas_item_state

static func format_canvas_item_state(ci: CanvasItem) -> String:

Parameters

ci

Returns

camera_world_bounds

static func camera_world_bounds(cam: Camera2D, vp: Viewport) -> Dictionary:

Parameters

cam
vp

Returns

is_inside_camera_bounds

static func is_inside_camera_bounds(bounds: Dictionary, pos: Vector2) -> bool:

Parameters

bounds
pos

Returns

is_offscreen

static func is_offscreen(bounds: Dictionary, pos: Vector2) -> bool:

Parameters

bounds
pos

Returns

format_screen_state

static func format_screen_state(cam: Camera2D, vp: Viewport, positioner_pos: Vector2, has_mouse: bool, mouse_world: Vector2, map: Object) -> String:

Parameters

cam
vp
positioner_pos
has_mouse
mouse_world
map

Returns