1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-10 13:00:37 +00:00

Add templated version of ObjectDB::get_instance()

This commit is contained in:
kobewi
2025-03-27 14:42:42 +01:00
parent 594d64ec24
commit bc9d0c7835
49 changed files with 121 additions and 104 deletions

View File

@@ -758,7 +758,7 @@ void Node3DEditorViewport::_clear_selected() {
}
void Node3DEditorViewport::_select_clicked(bool p_allow_locked) {
Node *node = Object::cast_to<Node3D>(ObjectDB::get_instance(clicked));
Node *node = ObjectDB::get_instance<Node3D>(clicked);
Node3D *selected = Object::cast_to<Node3D>(node);
clicked = ObjectID();
@@ -2118,7 +2118,7 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
const bool movement_threshold_passed = _edit.original_mouse_pos.distance_to(_edit.mouse_pos) > 8 * EDSCALE;
if (selection_in_progress && movement_threshold_passed && clicked.is_valid()) {
if (clicked_wants_append || !editor_selection->is_selected(Object::cast_to<Node>(ObjectDB::get_instance(clicked)))) {
if (clicked_wants_append || !editor_selection->is_selected(ObjectDB::get_instance<Node>(clicked))) {
cursor.region_select = true;
cursor.region_begin = _edit.original_mouse_pos;
clicked = ObjectID();
@@ -4849,8 +4849,8 @@ bool Node3DEditorViewport::_create_audio_node(Node *p_parent, const String &p_pa
void Node3DEditorViewport::_perform_drop_data() {
EditorUndoRedoManager *undo_redo = EditorUndoRedoManager::get_singleton();
if (spatial_editor->get_preview_material_target().is_valid()) {
GeometryInstance3D *geometry_instance = Object::cast_to<GeometryInstance3D>(ObjectDB::get_instance(spatial_editor->get_preview_material_target()));
MeshInstance3D *mesh_instance = Object::cast_to<MeshInstance3D>(ObjectDB::get_instance(spatial_editor->get_preview_material_target()));
GeometryInstance3D *geometry_instance = ObjectDB::get_instance<GeometryInstance3D>(spatial_editor->get_preview_material_target());
MeshInstance3D *mesh_instance = ObjectDB::get_instance<MeshInstance3D>(spatial_editor->get_preview_material_target());
if (mesh_instance && spatial_editor->get_preview_material_surface() != -1) {
undo_redo->create_action(vformat(TTR("Set Surface %d Override Material"), spatial_editor->get_preview_material_surface()));
undo_redo->add_do_method(geometry_instance, "set_surface_override_material", spatial_editor->get_preview_material_surface(), spatial_editor->get_preview_material());
@@ -8519,7 +8519,7 @@ void Node3DEditor::_request_gizmo(Object *p_obj) {
}
void Node3DEditor::_request_gizmo_for_id(ObjectID p_id) {
Node3D *node = Object::cast_to<Node3D>(ObjectDB::get_instance(p_id));
Node3D *node = ObjectDB::get_instance<Node3D>(p_id);
if (node) {
_request_gizmo(node);
}