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