Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/makitsune/hifi-things
Browse files Browse the repository at this point in the history
  • Loading branch information
makidoll committed Apr 23, 2019
2 parents 0fa061e + ce3e403 commit 1842d7e
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 9 deletions.
21 changes: 16 additions & 5 deletions client-scripts/makisPrettyNametags/makisLittlefoxNametags.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ function updateNametagEntity(nametag) {
"?username="+(nametag.username||"anonymous")+
"&avatarURL="+nametag.avatarURL+
"&connection="+nametag.connection+
"&admin="+nametag.admin
"&admin="+nametag.admin+
"&theme=littlefox"
),
});
}
Expand Down Expand Up @@ -82,15 +83,19 @@ function updateNametag(nametag, details) {
if (updated) updateNametagEntity(nametag);
}

function deleteNametag(id) {
Entities.deleteEntity(nametags[id].entity);
delete nametags[id];
}

function updateUserLocal(id) {
var localUser = AvatarList.getAvatar(id);
var nametag = nametags[id];

if (localUser.sessionUUID == null) {
if (nametag==undefined) return; // doesnt exist
// must have left
Entities.deleteEntity(nametag.entity);
delete nametag;
deleteNametag(id);
return;
}

Expand Down Expand Up @@ -173,6 +178,12 @@ function avatarRemovedEvent(id) {
gracefullyUpdateUsersAPI();
}

function hostChanged() {
Object.keys(nametags).forEach(function(id) {
deleteNametag(id);
});
}

function usernameFromIDReply(id, username, machineFingerprint, isAdmin) {
var nametag = nametags[id];
if (nametag==undefined) return;
Expand All @@ -197,7 +208,7 @@ var updateIntervalAPI = Script.setInterval(function() {
AvatarList.avatarAddedEvent.connect(avatarAddedEvent);
AvatarList.avatarRemovedEvent.connect(avatarRemovedEvent);
// AvatarList.avatarSessionChangedEvent.connect(avatarSessionChangedEvent);

location.hostChanged.connect(hostChanged);
Users.usernameFromIDReply.connect(usernameFromIDReply);

Script.scriptEnding.connect(function() {
Expand All @@ -207,7 +218,7 @@ Script.scriptEnding.connect(function() {
AvatarList.avatarAddedEvent.disconnect(avatarAddedEvent);
AvatarList.avatarRemovedEvent.disconnect(avatarRemovedEvent);
// AvatarList.avatarSessionChangedEvent.disconnect(avatarSessionChangedEvent);

location.hostChanged.disconnect(hostChanged);
Users.usernameFromIDReply.disconnect(usernameFromIDReply);

Object.keys(nametags).forEach(function(id) {
Expand Down
18 changes: 14 additions & 4 deletions client-scripts/makisPrettyNametags/makisPrettyNametags.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,15 +82,19 @@ function updateNametag(nametag, details) {
if (updated) updateNametagEntity(nametag);
}

function deleteNametag(id) {
Entities.deleteEntity(nametags[id].entity);
delete nametags[id];
}

function updateUserLocal(id) {
var localUser = AvatarList.getAvatar(id);
var nametag = nametags[id];

if (localUser.sessionUUID == null) {
if (nametag==undefined) return; // doesnt exist
// must have left
Entities.deleteEntity(nametag.entity);
delete nametag;
deleteNametag(id);
return;
}

Expand Down Expand Up @@ -173,6 +177,12 @@ function avatarRemovedEvent(id) {
gracefullyUpdateUsersAPI();
}

function hostChanged() {
Object.keys(nametags).forEach(function(id) {
deleteNametag(id);
});
}

function usernameFromIDReply(id, username, machineFingerprint, isAdmin) {
var nametag = nametags[id];
if (nametag==undefined) return;
Expand All @@ -197,7 +207,7 @@ var updateIntervalAPI = Script.setInterval(function() {
AvatarList.avatarAddedEvent.connect(avatarAddedEvent);
AvatarList.avatarRemovedEvent.connect(avatarRemovedEvent);
// AvatarList.avatarSessionChangedEvent.connect(avatarSessionChangedEvent);

location.hostChanged.connect(hostChanged);
Users.usernameFromIDReply.connect(usernameFromIDReply);

Script.scriptEnding.connect(function() {
Expand All @@ -207,7 +217,7 @@ Script.scriptEnding.connect(function() {
AvatarList.avatarAddedEvent.disconnect(avatarAddedEvent);
AvatarList.avatarRemovedEvent.disconnect(avatarRemovedEvent);
// AvatarList.avatarSessionChangedEvent.disconnect(avatarSessionChangedEvent);

location.hostChanged.disconnect(hostChanged);
Users.usernameFromIDReply.disconnect(usernameFromIDReply);

Object.keys(nametags).forEach(function(id) {
Expand Down

0 comments on commit 1842d7e

Please sign in to comment.