summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2019-09-26 12:36:52 +0200
committerGitHub <noreply@github.com>2019-09-26 12:36:52 +0200
commit04032a94459ebb6a65930e4b37778e3e82323a19 (patch)
treeb4a97169c740b9e9188d08a56ec714e2c48cd5f9
parent944154272fb1b5501f27de3a60cdc91474f0aa20 (diff)
parenta199e2b2631064015daab94780e06bfbb24ae3d5 (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.xml14
-rw-r--r--scene/resources/mesh_library.cpp6
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;
}