1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Group together 2D camera override functions

This commit is contained in:
Aaron Franke
2025-10-01 00:04:45 -07:00
parent 7fbc3a5307
commit e2dd60b5f8
4 changed files with 80 additions and 80 deletions

View File

@@ -225,39 +225,6 @@ Error SceneDebugger::_msg_override_cameras(const Array &p_args) {
return OK;
}
Error SceneDebugger::_msg_transform_camera_2d(const Array &p_args) {
ERR_FAIL_COND_V(p_args.is_empty(), ERR_INVALID_DATA);
ERR_FAIL_COND_V(!SceneTree::get_singleton()->get_root()->is_camera_2d_override_enabled(), ERR_BUG);
Transform2D transform = p_args[0];
Camera2D *override_camera = SceneTree::get_singleton()->get_root()->get_override_camera_2d();
override_camera->set_offset(transform.affine_inverse().get_origin());
override_camera->set_zoom(transform.get_scale());
RuntimeNodeSelect::get_singleton()->_queue_selection_update();
return OK;
}
#ifndef _3D_DISABLED
Error SceneDebugger::_msg_transform_camera_3d(const Array &p_args) {
ERR_FAIL_COND_V(p_args.size() < 5, ERR_INVALID_DATA);
ERR_FAIL_COND_V(!SceneTree::get_singleton()->get_root()->is_camera_3d_override_enabled(), ERR_BUG);
Transform3D transform = p_args[0];
bool is_perspective = p_args[1];
float size_or_fov = p_args[2];
float depth_near = p_args[3];
float depth_far = p_args[4];
Camera3D *override_camera = SceneTree::get_singleton()->get_root()->get_override_camera_3d();
if (is_perspective) {
override_camera->set_perspective(size_or_fov, depth_near, depth_far);
} else {
override_camera->set_orthogonal(size_or_fov, depth_near, depth_far);
}
override_camera->set_transform(transform);
RuntimeNodeSelect::get_singleton()->_queue_selection_update();
return OK;
}
#endif // _3D_DISABLED
Error SceneDebugger::_msg_set_object_property(const Array &p_args) {
ERR_FAIL_COND_V(p_args.size() < 3, ERR_INVALID_DATA);
_set_object_property(p_args[0], p_args[1], p_args[2]);
@@ -443,11 +410,43 @@ Error SceneDebugger::_msg_runtime_node_select_reset_camera_2d(const Array &p_arg
RuntimeNodeSelect::get_singleton()->_reset_camera_2d();
return OK;
}
Error SceneDebugger::_msg_transform_camera_2d(const Array &p_args) {
ERR_FAIL_COND_V(p_args.is_empty(), ERR_INVALID_DATA);
ERR_FAIL_COND_V(!SceneTree::get_singleton()->get_root()->is_camera_2d_override_enabled(), ERR_BUG);
Transform2D transform = p_args[0];
Camera2D *override_camera = SceneTree::get_singleton()->get_root()->get_override_camera_2d();
override_camera->set_offset(transform.affine_inverse().get_origin());
override_camera->set_zoom(transform.get_scale());
RuntimeNodeSelect::get_singleton()->_queue_selection_update();
return OK;
}
#ifndef _3D_DISABLED
Error SceneDebugger::_msg_runtime_node_select_reset_camera_3d(const Array &p_args) {
RuntimeNodeSelect::get_singleton()->_reset_camera_3d();
return OK;
}
Error SceneDebugger::_msg_transform_camera_3d(const Array &p_args) {
ERR_FAIL_COND_V(p_args.size() < 5, ERR_INVALID_DATA);
ERR_FAIL_COND_V(!SceneTree::get_singleton()->get_root()->is_camera_3d_override_enabled(), ERR_BUG);
Transform3D transform = p_args[0];
bool is_perspective = p_args[1];
float size_or_fov = p_args[2];
float depth_near = p_args[3];
float depth_far = p_args[4];
Camera3D *override_camera = SceneTree::get_singleton()->get_root()->get_override_camera_3d();
if (is_perspective) {
override_camera->set_perspective(size_or_fov, depth_near, depth_far);
} else {
override_camera->set_orthogonal(size_or_fov, depth_near, depth_far);
}
override_camera->set_transform(transform);
RuntimeNodeSelect::get_singleton()->_queue_selection_update();
return OK;
}
#endif // _3D_DISABLED
// endregion
@@ -534,7 +533,7 @@ void SceneDebugger::_init_message_handlers() {
message_handlers["transform_camera_2d"] = _msg_transform_camera_2d;
#ifndef _3D_DISABLED
message_handlers["transform_camera_3d"] = _msg_transform_camera_3d;
#endif
#endif // _3D_DISABLED
message_handlers["set_object_property"] = _msg_set_object_property;
message_handlers["set_object_property_field"] = _msg_set_object_property_field;
message_handlers["reload_cached_files"] = _msg_reload_cached_files;