/* globals Vec3, Quat, Uuid, Camera, MyAvatar, Entities, Overlays, Script, Tablet, AvatarList, AvatarManager, Picks, PickType require ScriptDiscoveryService */
//
// refreshApp.js
//
// Created by KasenVR on 30 May 2020.
// Copyright 2020 Vircadia contributors.
//
// Distributed under the Apache License, Version 2.0.
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
//
var APP_NAME = "Refresh App";
var tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system");
var accountConvertIcon = 'data:image/svg+xml;utf8,';
var refreshIcon = 'data:image/svg+xml;utf8,';
var refreshAvatarButton = tablet.addButton({
text: "RAvatar",
icon: accountConvertIcon
});
var refreshAttachmentsButton = tablet.addButton({
text: "RAttach",
icon: refreshIcon
});
Script.scriptEnding.connect(function(){
tablet.removeButton(refreshAvatarButton);
tablet.removeButton(refreshAttachmentsButton);
refreshAvatarButton = null;
refreshAttachmentsButton = null;
});
function refreshAvatar() {
var modelURL = MyAvatar.getFullAvatarURLFromPreferences();
modelURL = modelURL.split("#")[0] + "#" + new Date().getTime();
MyAvatar.useFullAvatarURL(modelURL);
console.log('Avatar refreshed: ' + modelURL);
}
refreshAvatarButton.clicked.connect(refreshAvatar);
function refreshAttachments() {
var data = MyAvatar.getAvatarEntityData(); // everything, including boxes which have no modelURL
var attachmentAmount = 0;
for (var id in data) {
var attachment = data[id];
if (attachment.type.toString() === 'Model') {
attachment.modelURL = attachment.modelURL.toString().split('#')[0] + '#' + Date.now();
attachmentAmount++;
}
}
console.log(attachmentAmount + " attachments refreshed.");
MyAvatar.setAvatarEntityData(data);
}
refreshAttachmentsButton.clicked.connect(refreshAttachments);