From 3237e05c3608fc900cb30519ffd3b15ddb064c9f Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Fri, 22 Sep 2017 09:20:28 -0300 Subject: Ability to convert from SpatialMaterial to ShaderMaterial --- editor/editor_node.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'editor/editor_node.cpp') diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 54c6ff79e..5a38ec939 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -3247,6 +3247,7 @@ void EditorNode::register_editor_types() { ClassDB::register_virtual_class(); ClassDB::register_virtual_class(); ClassDB::register_class(); + ClassDB::register_class(); // FIXME: Is this stuff obsolete, or should it be ported to new APIs? //ClassDB::register_class(); @@ -4431,6 +4432,27 @@ void EditorNode::open_export_template_manager() { export_template_manager->popup_manager(); } +void EditorNode::add_resource_conversion_plugin(const Ref &p_plugin) { + resource_conversion_plugins.push_back(p_plugin); +} + +void EditorNode::remove_resource_conversion_plugin(const Ref &p_plugin) { + resource_conversion_plugins.erase(p_plugin); +} + +Vector > EditorNode::find_resource_conversion_plugin(const Ref &p_for_resource) { + + Vector > ret; + + for (int i = 0; i < resource_conversion_plugins.size(); i++) { + if (resource_conversion_plugins[i].is_valid() && resource_conversion_plugins[i]->handles(p_for_resource)) { + ret.push_back(resource_conversion_plugins[i]); + } + } + + return ret; +} + void EditorNode::_bind_methods() { ClassDB::bind_method("_menu_option", &EditorNode::_menu_option); @@ -5497,6 +5519,11 @@ EditorNode::EditorNode() { resource_preview->add_preview_generator(Ref(memnew(EditorMeshPreviewPlugin))); resource_preview->add_preview_generator(Ref(memnew(EditorBitmapPreviewPlugin))); + { + Ref spatial_mat_convert; + spatial_mat_convert.instance(); + resource_conversion_plugins.push_back(spatial_mat_convert); + } circle_step_msec = OS::get_singleton()->get_ticks_msec(); circle_step_frame = Engine::get_singleton()->get_frames_drawn(); circle_step = 0; -- cgit v1.2.3-70-g09d2