Showing the changes to libraries/entities/src/EntityScriptingInterface.cpp (1 of 370 files). Show all
Unified · Split
| @@ -97,6 +97,7 @@ EntityScriptingInterface::EntityScriptingInterface(bool bidOnSimulationOwnership · 96 unmodified lines | ||
| 97 | 97 | connect(nodeList.data(), &NodeList::canWriteAssetsChanged, this, &EntityScriptingInterface::canWriteAssetsChanged); |
| 98 | 98 | connect(nodeList.data(), &NodeList::canGetAndSetPrivateUserDataChanged, this, &EntityScriptingInterface::canGetAndSetPrivateUserDataChanged); |
| 99 | 99 | connect(nodeList.data(), &NodeList::canRezAvatarEntitiesChanged, this, &EntityScriptingInterface::canRezAvatarEntitiesChanged); |
| 100 | + connect(nodeList.data(), &NodeList::canViewAssetURLsChanged, this, &EntityScriptingInterface::canViewAssetURLsChanged); | |
| 100 | 101 | |
| 101 | 102 | auto& packetReceiver = nodeList->getPacketReceiver(); |
| 102 | 103 | packetReceiver.registerListener(PacketType::EntityScriptCallMethod, |
| @@ -291,6 +292,11 @@ bool EntityScriptingInterface::canRezAvatarEntities() { · 188 unmodified lines | ||
| 291 | 292 | return nodeList->getThisNodeCanRezAvatarEntities(); |
| 292 | 293 | } |
| 293 | 294 | |
| 295 | +bool EntityScriptingInterface::canViewAssetURLs() { | |
| 296 | + auto nodeList = DependencyManager::get<NodeList>(); | |
| 297 | + return nodeList->getThisNodeCanViewAssetURLs(); | |
| 298 | +} | |
| 299 | + | |
| 294 | 300 | void EntityScriptingInterface::setEntityTree(EntityTreePointer elementTree) { |
| 295 | 301 | if (_entityTree) { |
| 296 | 302 | disconnect(_entityTree.get(), &EntityTree::addingEntityPointer, this, &EntityScriptingInterface::onAddingEntity); |
| @@ -785,7 +791,7 @@ QUuid EntityScriptingInterface::cloneEntity(const QUuid& entityIDToClone) { · 488 unmodified lines | ||
| 785 | 791 | |
| 786 | 792 | EntityItemProperties EntityScriptingInterface::getEntityProperties(const QUuid& entityID) { |
| 787 | 793 | const EntityPropertyFlags noSpecificProperties; |
| 788 | − return getEntityPropertiesInternal(entityID, noSpecificProperties); | |
| 794 | + return getEntityPropertiesInternal(entityID, noSpecificProperties, false); | |
| 789 | 795 | } |
| 790 | 796 | |
| 791 | 797 | ScriptValue EntityScriptingInterface::getEntityProperties(const QUuid& entityID, const ScriptValue& extendedDesiredProperties) { |
| @@ -810,12 +816,14 @@ ScriptValue EntityScriptingInterface::getEntityProperties(const QUuid& entityID, · 18 unmodified lines | ||
| 810 | 816 | } |
| 811 | 817 | } |
| 812 | 818 | |
| 813 | − EntityItemProperties properties = getEntityPropertiesInternal(entityID, desiredProperties); | |
| 819 | + EntityItemProperties properties = getEntityPropertiesInternal(entityID, desiredProperties, !desiredPseudoPropertyFlags.none()); | |
| 814 | 820 | |
| 815 | 821 | return properties.copyToScriptValue(extendedDesiredProperties.engine().get(), false, false, false, desiredPseudoPropertyFlags); |
| 816 | 822 | } |
| 817 | 823 | |
| 818 | −EntityItemProperties EntityScriptingInterface::getEntityPropertiesInternal(const QUuid& entityID, EntityPropertyFlags desiredProperties) { | |
| 824 | +EntityItemProperties EntityScriptingInterface::getEntityPropertiesInternal(const QUuid& entityID, | |
| 825 | + EntityPropertyFlags desiredProperties, | |
| 826 | + bool returnNothingOnEmptyPropertyFlags) { | |
| 819 | 827 | |
| 820 | 828 | PROFILE_RANGE(script_entities, __FUNCTION__); |
| 821 | 829 | |
| @@ -838,7 +846,7 @@ EntityItemProperties EntityScriptingInterface::getEntityPropertiesInternal(const · 16 unmodified lines | ||
| 838 | 846 | desiredProperties.setHasProperty(PROP_PARENT_JOINT_INDEX); |
| 839 | 847 | } |
| 840 | 848 | |
| 841 | − if (desiredProperties.isEmpty()) { | |
| 849 | + if (desiredProperties.isEmpty() && !returnNothingOnEmptyPropertyFlags) { | |
| 842 | 850 | // these are left out of EntityItem::getEntityProperties so that localPosition and localRotation |
| 843 | 851 | // don't end up in json saves, etc. We still want them here, though. |
| 844 | 852 | EncodeBitstreamParams params; // unknown |
| @@ -850,7 +858,7 @@ EntityItemProperties EntityScriptingInterface::getEntityPropertiesInternal(const · 5 unmodified lines | ||
| 850 | 858 | desiredProperties.setHasProperty(PROP_LOCAL_DIMENSIONS); |
| 851 | 859 | } |
| 852 | 860 | |
| 853 | − results = entity->getProperties(desiredProperties); | |
| 861 | + results = entity->getProperties(desiredProperties, true); | |
| 854 | 862 | } |
| 855 | 863 | }); |
| 856 | 864 | } |