diff --git a/assignment-client/src/avatars/ScriptableAvatar.cpp b/assignment-client/src/avatars/ScriptableAvatar.cpp index 25860863cf..75aa321c28 100644 --- a/assignment-client/src/avatars/ScriptableAvatar.cpp +++ b/assignment-client/src/avatars/ScriptableAvatar.cpp @@ -279,7 +279,18 @@ void ScriptableAvatar::setJointMappingsFromNetworkReply() { networkReply->deleteLater(); } +AvatarEntityMap ScriptableAvatar::getAvatarEntityData() const { + auto data = getAvatarEntityDataInternal(true); + return data; +} + AvatarEntityMap ScriptableAvatar::getAvatarEntityDataNonDefault() const { + auto data = getAvatarEntityDataInternal(false); + return data; + +} + +AvatarEntityMap ScriptableAvatar::getAvatarEntityDataInternal(bool allProperties) const { // DANGER: Now that we store the AvatarEntityData in packed format this call is potentially Very Expensive! // Avoid calling this method if possible. AvatarEntityMap data; @@ -290,7 +301,7 @@ AvatarEntityMap ScriptableAvatar::getAvatarEntityDataNonDefault() const { EntityItemPointer entity = itr.second; EntityItemProperties properties = entity->getProperties(); QByteArray blob; - EntityItemProperties::propertiesToBlob(_scriptEngine, sessionID, properties, blob); + EntityItemProperties::propertiesToBlob(_scriptEngine, sessionID, properties, blob, allProperties); data[id] = blob; } }); diff --git a/assignment-client/src/avatars/ScriptableAvatar.h b/assignment-client/src/avatars/ScriptableAvatar.h index 3eae702257..500c3f44fb 100644 --- a/assignment-client/src/avatars/ScriptableAvatar.h +++ b/assignment-client/src/avatars/ScriptableAvatar.h @@ -178,9 +178,12 @@ public: * var avatarEntityData = Avatar.getAvatarEntityData(); * print("Avatar entities: " + JSON.stringify(avatarEntityData)); */ + Q_INVOKABLE AvatarEntityMap getAvatarEntityData() const override; AvatarEntityMap getAvatarEntityDataNonDefault() const override; + AvatarEntityMap getAvatarEntityDataInternal(bool allProperties) const; + /**jsdoc * Sets all avatar entities from an object. *
Warning: Potentially an expensive call. Do not use if possible.