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
messagesuitefile_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
prefixindicators_cls_name_file_path
Returns
format_stack_summary
static func format_stack_summary(stack: Array, max_entries: int = 6) -> String:
Parameters
stackmax_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
nodevisualvpcam
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
camvp
Returns
is_inside_camera_bounds
static func is_inside_camera_bounds(bounds: Dictionary, pos: Vector2) -> bool:
Parameters
boundspos
Returns
is_offscreen
static func is_offscreen(bounds: Dictionary, pos: Vector2) -> bool:
Parameters
boundspos
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
camvppositioner_poshas_mousemouse_worldmap