Add a specific error when creating a ViewportTexture in a Texture2D node in a Visual Shader
This commit is contained in:
parent
d76c1d0e51
commit
429f24e665
1 changed files with 8 additions and 0 deletions
|
@ -56,6 +56,7 @@
|
|||
#include "scene/resources/font.h"
|
||||
#include "scene/resources/mesh.h"
|
||||
#include "scene/resources/packed_scene.h"
|
||||
#include "scene/resources/visual_shader_nodes.h"
|
||||
|
||||
///////////////////// Nil /////////////////////////
|
||||
|
||||
|
@ -3196,6 +3197,13 @@ void EditorPropertyResource::_resource_changed(const Ref<Resource> &p_resource)
|
|||
Ref<ViewportTexture> vpt = p_resource;
|
||||
if (vpt.is_valid()) {
|
||||
r = Object::cast_to<Resource>(get_edited_object());
|
||||
if (Object::cast_to<VisualShaderNodeTexture>(r)) {
|
||||
EditorNode::get_singleton()->show_warning(TTR("Can't create a ViewportTexture in a Texture2D node because the texture will not be bound to a scene.\nUse a Texture2DParameter node instead and set the texture in the \"Shader Parameters\" tab."));
|
||||
emit_changed(get_edited_property(), Ref<Resource>());
|
||||
update_property();
|
||||
return;
|
||||
}
|
||||
|
||||
if (r && r->get_path().is_resource_file()) {
|
||||
EditorNode::get_singleton()->show_warning(TTR("Can't create a ViewportTexture on resources saved as a file.\nResource needs to belong to a scene."));
|
||||
emit_changed(get_edited_property(), Ref<Resource>());
|
||||
|
|
Loading…
Reference in a new issue