fix avatar kill behaviour

This commit is contained in:
Stephen Birarda 2014-04-17 17:21:38 -07:00
parent 3e4369f2ff
commit e75d14139f
3 changed files with 8 additions and 3 deletions

View file

@ -148,6 +148,10 @@ void AvatarManager::processAvatarMixerDatagram(const QByteArray& datagram, const
}
}
AvatarSharedPointer AvatarManager::newSharedAvatar() {
return AvatarSharedPointer(new Avatar());
}
AvatarHash::iterator AvatarManager::erase(const AvatarHash::iterator& iterator) {
if (iterator.key() != MY_AVATAR_KEY) {
qDebug() << "Removing Avatar with UUID" << iterator.key() << "from AvatarManager hash.";

View file

@ -45,6 +45,8 @@ private:
void simulateAvatarFades(float deltaTime);
void renderAvatarFades(const glm::vec3& cameraPosition, Avatar::RenderMode renderMode);
AvatarSharedPointer newSharedAvatar();
// virtual override
AvatarHash::iterator erase(const AvatarHash::iterator& iterator);

View file

@ -32,12 +32,11 @@ const qint64 AVATAR_SILENCE_THRESHOLD_MSECS = 5 * 1000;
bool AvatarHashMap::shouldKillAvatar(const AvatarSharedPointer& sharedAvatar) {
return (sharedAvatar->getOwningAvatarMixer() == NULL
&& sharedAvatar->getLastUpdateTimer().elapsed() > AVATAR_SILENCE_THRESHOLD_MSECS);
|| sharedAvatar->getLastUpdateTimer().elapsed() > AVATAR_SILENCE_THRESHOLD_MSECS);
}
AvatarSharedPointer AvatarHashMap::newSharedAvatar() {
AvatarData* avatarData = new AvatarData();
return AvatarSharedPointer(avatarData);
return AvatarSharedPointer(new AvatarData());
}
AvatarSharedPointer AvatarHashMap::matchingOrNewAvatar(const QUuid& sessionUUID, const QWeakPointer<Node>& mixerWeakPointer) {