diff --git a/interface/src/avatar/AvatarManager.h b/interface/src/avatar/AvatarManager.h index 7f5aa00466..6a3d0355f6 100644 --- a/interface/src/avatar/AvatarManager.h +++ b/interface/src/avatar/AvatarManager.h @@ -29,10 +29,25 @@ /**jsdoc * The AvatarManager API has properties and methods which manage Avatars within the same domain. + * + *

Note: This API is also provided to Interface and client entity scripts as the synonym, + * AvatarList. For assignment client scripts, see the separate {@link AvatarList} API. + * * @namespace AvatarManager * * @hifi-interface * @hifi-client-entity + * + * @borrows AvatarList.getAvatarIdentifiers as getAvatarIdentifiers + * @borrows AvatarList.getAvatarsInRange as getAvatarsInRange + * @borrows AvatarList.avatarAddedEvent as avatarAddedEvent + * @borrows AvatarList.avatarRemovedEvent as avatarRemovedEvent + * @borrows AvatarList.avatarSessionChangedEvent as avatarSessionChangedEvent + * @borrows AvatarList.isAvatarInRange as isAvatarInRange + * @borrows AvatarList.sessionUUIDChanged as sessionUUIDChanged + * @borrows AvatarList.processAvatarDataPacket as processAvatarDataPacket + * @borrows AvatarList.processAvatarIdentityPacket as processAvatarIdentityPacket + * @borrows AvatarList.processKillAvatar as processKillAvatar */ class AvatarManager : public AvatarHashMap { diff --git a/libraries/avatars/src/AvatarHashMap.h b/libraries/avatars/src/AvatarHashMap.h index dc3f40c5d3..6747025de0 100644 --- a/libraries/avatars/src/AvatarHashMap.h +++ b/libraries/avatars/src/AvatarHashMap.h @@ -30,6 +30,15 @@ #include "AvatarData.h" +/**jsdoc + * Note: An AvatarList API is also provided for Interface and client entity scripts: it is a + * synonym for the {@link AvatarManager} API. + * + * @namespace AvatarList + * + * @hifi-assignment-client + */ + class AvatarHashMap : public QObject, public Dependency { Q_OBJECT SINGLETON_DEPENDENCY @@ -42,20 +51,24 @@ public: // Currently, your own avatar will be included as the null avatar id. /**jsdoc - * @function AvatarManager.getAvatarIdentifiers + * @function AvatarList.getAvatarIdentifiers * @returns {Uuid[]} */ Q_INVOKABLE QVector getAvatarIdentifiers(); /**jsdoc - * @function AvatarManager.getAvatarsInRange + * @function AvatarList.getAvatarsInRange * @param {Vec3} position * @param {number} range * @returns {Uuid[]} */ Q_INVOKABLE QVector getAvatarsInRange(const glm::vec3& position, float rangeMeters) const; - // No JSDod because it's documwented in AvatarManager. + /**jsdoc + * @function AvatarList.getAvatar + * @param {Uuid} avatarID + * @returns {AvatarData} + */ // Null/Default-constructed QUuids will return MyAvatar Q_INVOKABLE virtual ScriptAvatarData* getAvatar(QUuid avatarID) { return new ScriptAvatarData(getAvatarBySessionID(avatarID)); } @@ -65,21 +78,21 @@ public: signals: /**jsdoc - * @function AvatarManager.avatarAddedEvent + * @function AvatarList.avatarAddedEvent * @param {Uuid} sessionUUID * @returns {Signal} */ void avatarAddedEvent(const QUuid& sessionUUID); /**jsdoc - * @function AvatarManager.avatarRemovedEvent + * @function AvatarList.avatarRemovedEvent * @param {Uuid} sessionUUID * @returns {Signal} */ void avatarRemovedEvent(const QUuid& sessionUUID); /**jsdoc - * @function AvatarManager.avatarSessionChangedEvent + * @function AvatarList.avatarSessionChangedEvent * @param {Uuid} sessionUUID * @param {Uuid} oldSessionUUID * @returns {Signal} @@ -89,7 +102,7 @@ signals: public slots: /**jsdoc - * @function AvatarManager.isAvatarInRange + * @function AvatarList.isAvatarInRange * @param {string} position * @param {string} range * @returns {boolean} @@ -99,28 +112,28 @@ public slots: protected slots: /**jsdoc - * @function AvatarManager.sessionUUIDChanged + * @function AvatarList.sessionUUIDChanged * @param {Uuid} sessionUUID * @param {Uuid} oldSessionUUID */ void sessionUUIDChanged(const QUuid& sessionUUID, const QUuid& oldUUID); /**jsdoc - * @function AvatarManager.processAvatarDataPacket + * @function AvatarList.processAvatarDataPacket * @param {} message * @param {} sendingNode */ void processAvatarDataPacket(QSharedPointer message, SharedNodePointer sendingNode); /**jsdoc - * @function AvatarManager.processAvatarIdentityPacket + * @function AvatarList.processAvatarIdentityPacket * @param {} message * @param {} sendingNode */ void processAvatarIdentityPacket(QSharedPointer message, SharedNodePointer sendingNode); /**jsdoc - * @function AvatarManager.processKillAvatar + * @function AvatarList.processKillAvatar * @param {} message * @param {} sendingNode */