From 7823882aa16ad1c11265fd282cffe6bf166f25e2 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Mon, 14 Mar 2016 16:13:33 -0700 Subject: [PATCH] Add atp filename to entities added to world --- interface/resources/qml/AssetServer.qml | 12 ++++++------ libraries/entities/src/EntityScriptingInterface.cpp | 3 ++- libraries/entities/src/EntityScriptingInterface.h | 3 ++- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/interface/resources/qml/AssetServer.qml b/interface/resources/qml/AssetServer.qml index 82970011a0..17e6214a26 100644 --- a/interface/resources/qml/AssetServer.qml +++ b/interface/resources/qml/AssetServer.qml @@ -137,19 +137,19 @@ Window { ); } - function addToWorld(url) { - if (!url) { - url = assetProxyModel.data(treeView.selection.currentIndex, 0x103); - } + function addToWorld() { + var url = assetProxyModel.data(treeView.selection.currentIndex, 0x103); if (!url || !canAddToWorld(url)) { return; } - console.log("Asset browser - adding asset " + url + " to world."); + var name = assetProxyModel.data(treeView.selection.currentIndex); + + console.log("Asset browser - adding asset " + url + " (" + name + ") to world."); var addPosition = Vec3.sum(MyAvatar.position, Vec3.multiply(2, Quat.getFront(MyAvatar.orientation))); - Entities.addModelEntity(url, addPosition); + Entities.addModelEntity(name, url, addPosition); } function copyURLToClipboard(index) { diff --git a/libraries/entities/src/EntityScriptingInterface.cpp b/libraries/entities/src/EntityScriptingInterface.cpp index 44da37b0c1..ae538b26c7 100644 --- a/libraries/entities/src/EntityScriptingInterface.cpp +++ b/libraries/entities/src/EntityScriptingInterface.cpp @@ -178,9 +178,10 @@ QUuid EntityScriptingInterface::addEntity(const EntityItemProperties& properties return id; } -QUuid EntityScriptingInterface::addModelEntity(const QString& modelUrl, const glm::vec3& position) { +QUuid EntityScriptingInterface::addModelEntity(const QString& name, const QString& modelUrl, const glm::vec3& position) { EntityItemProperties properties; properties.setType(EntityTypes::Model); + properties.setName(name); properties.setModelURL(modelUrl); properties.setPosition(position); return addEntity(properties); diff --git a/libraries/entities/src/EntityScriptingInterface.h b/libraries/entities/src/EntityScriptingInterface.h index fda2aa7e59..b65bc55dbb 100644 --- a/libraries/entities/src/EntityScriptingInterface.h +++ b/libraries/entities/src/EntityScriptingInterface.h @@ -84,7 +84,8 @@ public slots: /// adds a model with the specific properties Q_INVOKABLE QUuid addEntity(const EntityItemProperties& properties); - Q_INVOKABLE QUuid addModelEntity(const QString& modelUrl, const glm::vec3& position); + /// temporary method until addEntity can be used from QJSEngine + Q_INVOKABLE QUuid addModelEntity(const QString& name, const QString& modelUrl, const glm::vec3& position); /// gets the current model properties for a specific model /// this function will not find return results in script engine contexts which don't have access to models