Table of Contents

Class GBCamera2DValidator

Namespace
GridPlacement.GDScript
Assembly
MoonBark.GridPlacement.GDScript.dll
class GBCamera2DValidator extends RefCounted
GBCamera2DValidator

Properties

success

var success = accuracy < 1.0

accuracy

var accuracy = world_pos.distance_to(expected_world_pos)

world_pos

var world_pos = GBPositioning2DUtils.convert_screen_to_world_position(test_screen_pos, viewport)

expected

var expected: Vector2

error

var error: String

issues

var issues: Array[String] = []

warnings

var warnings: Array[String] = []

viewport

var viewport: Viewport = scene_root.get_viewport()

camera

var camera: Camera2D = viewport.get_camera_2d()

successes

var successes: Array[String] = []

zoom

var zoom = camera.zoom

zoom_x_log2

var zoom_x_log2 = log(zoom.x) / log(2.0)

zoom_y_log2

var zoom_y_log2 = log(zoom.y) / log(2.0)

test_result

var test_result = _test_coordinate_conversion(viewport, camera)

all_cameras

var all_cameras = _find_all_camera2d_nodes(scene_root)

enabled_cameras

var enabled_cameras = all_cameras.filter(func(cam): return cam.enabled)

viewport_size

var viewport_size = viewport.get_visible_rect().size

test_screen_pos

var test_screen_pos = viewport_size * 0.5

world_pos

var world_pos = GBPositioning2DUtils.convert_screen_to_world_position(test_screen_pos, viewport)

canvas_transform

var canvas_transform = viewport.get_canvas_transform()

expected_world_pos

var expected_world_pos = canvas_transform.affine_inverse() * test_screen_pos

accuracy

var accuracy = world_pos.distance_to(expected_world_pos)

success

var success = accuracy < 1.0

error_msg

var error_msg = "" if success else "Accuracy too low: %.3f pixels" % accuracy

cameras

var cameras: Array[Camera2D] = []

edited_scene

var edited_scene = EditorInterface.get_edited_scene_root() if Engine.is_editor_hint() else null

Methods

to_string

func to_string() -> String:

Returns

validate_scene_setup

static func validate_scene_setup(scene_root: Node) -> bool:

Parameters

scene_root

Returns

validate_current_scene

static func validate_current_scene() -> bool:

Returns

validate_runtime_setup

static func validate_runtime_setup(main_scene: Node) -> bool:

Parameters

main_scene

Returns