diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2019-09-26 12:36:52 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-26 12:36:52 +0200 |
commit | 04032a94459ebb6a65930e4b37778e3e82323a19 (patch) | |
tree | b4a97169c740b9e9188d08a56ec714e2c48cd5f9 | |
parent | 944154272fb1b5501f27de3a60cdc91474f0aa20 (diff) | |
parent | a199e2b2631064015daab94780e06bfbb24ae3d5 (diff) |
Merge pull request #32308 from Calinou/meshlibrary-item-preview-editor-only
Mention `MeshLibrary.get_item_preview()` not working in running project
-rw-r--r-- | doc/classes/MeshLibrary.xml | 14 | ||||
-rw-r--r-- | scene/resources/mesh_library.cpp | 6 |
2 files changed, 14 insertions, 6 deletions
diff --git a/doc/classes/MeshLibrary.xml b/doc/classes/MeshLibrary.xml index 041d1fa80d..44dc4f334f 100644 --- a/doc/classes/MeshLibrary.xml +++ b/doc/classes/MeshLibrary.xml @@ -4,7 +4,7 @@ Library of meshes. </brief_description> <description> - Library of meshes. Contains a list of [Mesh] resources, each with name and ID. This resource is used in [GridMap]. + A library of meshes. Contains a list of [Mesh] resources, each with a name and ID. This resource is used in [GridMap]. </description> <tutorials> </tutorials> @@ -13,7 +13,7 @@ <return type="void"> </return> <description> - Clear the library. + Clears the library. </description> </method> <method name="create_item"> @@ -22,7 +22,7 @@ <argument index="0" name="id" type="int"> </argument> <description> - Create a new item in the library, supplied an id. + Create a new item in the library, supplied as an ID. </description> </method> <method name="find_item_by_name" qualifiers="const"> @@ -80,6 +80,8 @@ <argument index="0" name="id" type="int"> </argument> <description> + Returns a generated item preview (a 3D rendering in isometric perspective). + [b]Note:[/b] Since item previews are only generated in an editor context, this function will return an empty [Texture] in a running project. </description> </method> <method name="get_item_shapes" qualifiers="const"> @@ -94,7 +96,7 @@ <return type="int"> </return> <description> - Gets an unused id for a new item. + Gets an unused ID for a new item. </description> </method> <method name="remove_item"> @@ -114,7 +116,7 @@ <argument index="1" name="mesh" type="Mesh"> </argument> <description> - Sets the mesh of the item. + Sets the item's mesh. </description> </method> <method name="set_item_name"> @@ -125,7 +127,7 @@ <argument index="1" name="name" type="String"> </argument> <description> - Sets the name of the item. + Sets the item's name. </description> </method> <method name="set_item_navmesh"> diff --git a/scene/resources/mesh_library.cpp b/scene/resources/mesh_library.cpp index ad8da63abf..f04af29761 100644 --- a/scene/resources/mesh_library.cpp +++ b/scene/resources/mesh_library.cpp @@ -29,6 +29,7 @@ /*************************************************************************/ #include "mesh_library.h" +#include "core/engine.h" bool MeshLibrary::_set(const StringName &p_name, const Variant &p_value) { @@ -201,6 +202,11 @@ Transform MeshLibrary::get_item_navmesh_transform(int p_item) const { Ref<Texture> MeshLibrary::get_item_preview(int p_item) const { + if (!Engine::get_singleton()->is_editor_hint()) { + ERR_PRINT("MeshLibrary item previews are only generated in an editor context, which means they aren't available in a running project."); + return Ref<Texture>(); + } + ERR_FAIL_COND_V_MSG(!item_map.has(p_item), Ref<Texture>(), "Requested for nonexistent MeshLibrary item '" + itos(p_item) + "'."); return item_map[p_item].preview; } |