/* 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);