diff --git a/interface/src/avatar/MyAvatar.h b/interface/src/avatar/MyAvatar.h index 4f4129e462..dbd8e7c2c6 100644 --- a/interface/src/avatar/MyAvatar.h +++ b/interface/src/avatar/MyAvatar.h @@ -1217,8 +1217,6 @@ public: * @function MyAvatar.getTargetAvatar * @returns {ScriptAvatar} Information on the avatar being looked at, null if no avatar is being looked at. */ - // FIXME: The return type doesn't have a conversion to a script value so the function always returns undefined in - // JavaScript. Note: When fixed, JSDoc is needed for the return type. Q_INVOKABLE ScriptAvatarData* getTargetAvatar() const; diff --git a/libraries/avatars/src/ScriptAvatarData.cpp b/libraries/avatars/src/ScriptAvatarData.cpp index 0ca1143aa7..f66af03506 100644 --- a/libraries/avatars/src/ScriptAvatarData.cpp +++ b/libraries/avatars/src/ScriptAvatarData.cpp @@ -29,7 +29,7 @@ bool avatarDataFromScriptValue(const ScriptValue& object, ScriptAvatarData*& out STATIC_SCRIPT_TYPES_INITIALIZER((+[](ScriptManager* manager) { auto scriptEngine = manager->engine().get(); - scriptRegisterMetaType(scriptEngine); + scriptRegisterMetaType(scriptEngine, "ScriptAvatarData*"); })); ScriptAvatarData::ScriptAvatarData(AvatarSharedPointer avatarData) : diff --git a/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js b/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js index c073a06589..b7caf01736 100644 --- a/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js +++ b/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js @@ -148,8 +148,9 @@ function getAvatarData(uuid) { var avatarInfo = avatar.avatarInfo; var newAvatarInfo = AvatarManager.getAvatar(uuid); + // Save the username so it doesn't get overwritten when grabbing new avatarData - var combinedAvatarInfo = Object.assign({}, newAvatarInfo, { + var combinedAvatarInfo = Object.assign({}, {avatarData: newAvatarInfo}, { username: avatarInfo === null ? null : avatarInfo.username }); @@ -168,7 +169,7 @@ function getDistance(uuid, checkAvatar, shouldSave) { var avatar = _this.avatars[uuid]; var avatarInfo = avatar.avatarInfo; - var target = avatarInfo.position; + var target = avatarInfo.avatarData.position; var currentDistance = Vec3.distance(target, eye); @@ -304,7 +305,7 @@ function getCorrectName(uuid) { var avatar = _this.avatars[uuid]; var avatarInfo = avatar.avatarInfo; - var displayNameToUse = avatarInfo.displayName.trim(); + var displayNameToUse = avatarInfo.avatarData.displayName.trim(); if (displayNameToUse === "") { displayNameToUse = "anonymous"; @@ -744,4 +745,4 @@ nameTagListManager.prototype = { }; -module.exports = nameTagListManager; \ No newline at end of file +module.exports = nameTagListManager;