From 8249683c22cfaf4590a35f4c85d29680d4bd514a Mon Sep 17 00:00:00 2001 From: Kasen IO Date: Sun, 31 May 2020 21:42:18 -0400 Subject: [PATCH] Refresh App added to more app. --- applications/metadata.js | 11 +++- applications/refresh-app/refresh-circle-w.png | Bin 0 -> 1206 bytes applications/refresh-app/refreshApp.js | 59 ++++++++++++++++++ 3 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 applications/refresh-app/refresh-circle-w.png create mode 100644 applications/refresh-app/refreshApp.js diff --git a/applications/metadata.js b/applications/metadata.js index 255067b..1991ffe 100644 --- a/applications/metadata.js +++ b/applications/metadata.js @@ -61,6 +61,15 @@ var metadata = { "applications": [ "jsfile": "radar/radar.js", "icon": "radar/assets/radar-i.svg", "caption": "RADAR" - } + }, + { + "isActive": true, + "directory": "refresh-app", + "name": "Refresh App", + "description": "Add two buttons that refresh your avatar and attachments.", + "jsfile": "refresh-app/refreshApp.js", + "icon": "refresh-app/refresh-circle-w.png", + "caption": "REFRESH" + } ] }; \ No newline at end of file diff --git a/applications/refresh-app/refresh-circle-w.png b/applications/refresh-app/refresh-circle-w.png new file mode 100644 index 0000000000000000000000000000000000000000..34b38b5f44779b4ceef7b331c8d2365a67818d27 GIT binary patch literal 1206 zcmZ{kX;6|09Ebn*BH|fawjs`}rsArkz2I0%mj@<@7bRJ38K?-P1t|^ac0h(=OEqb> z9W<3|lH*CGR$8*H);g9JTbt9Nq@`(zvNegv=8pSqKkRSj`S{H9?N^+X5aaAXbN~Qn zCWF2a0ML1GSO7>_FjWKq7(qmQ1c3g8<1Eh>06fzf8{+};eE}3l0Hy&z@g86w3NXqA zpq&9&D$(9%uK@sT8Y_kl|86R(o0bJVWu_+_FxC0=iOnOAJuy5>4ypR(^ zDD0;cFFHgNX(Ah%USCx=S_=-7Ti8zr%44&n-sabKu1?9biAzXdxgRRG9X+aw6tSv; zV*LXHU8}jS$JkkomE=vDNb}&ptE|Kax#RnXUzMI$O{!W#bBBK%J|Gx+s2wjIy*l`= zu&V$=@D`n{xYE(ToLL{ctL&+tD9N~%d8g!HsWig4qWjjptGDe^ktU>>abmS0h&wIB zU38KniB#OA1rzEJS5;=6R2GHdCMi(k!F&^MP=13q4-y`qYPRk*JP*O|yq99IwzjVV z!7jhMN5&QUJVGedVSp97t=1aiZ};(g8Zl+TSa>jMbH=&Gi?-X$QIE$8XFRK|D^22G zCe~dlcpvF#Id0qJBatnco3!ACkJ7kp>{*?m!fCeF&~ejB#X`QZBoX-|+3jG{R8A;z@$QqnTB ze}lX5cdlt=p)Ag@|F@4aIb~4k;k=hr)58U>z9U?qsOZ0FZ_046>~L$whwC~FBhZ;p zKj#%7cE2t!P+tEQX|rQ&mjAuJo7MWOfz;N<@+2gkVwOd< z$)k)v>=;2Dm$XWzcPkzfrAzozVs9@5TmjGazcm$2b{ z)Sd-JwpB}A{6)oUtsQz~A4i%#z3`29uxRR; znW72C+|ZHMXM19;+HC)K87A#s&DyP*I@QG8<(EBr87eyI{!3i8Z-9B*1PD8Cw|~$S zoRZk}A~o1dJm<6TB96YF6o8vMd$=BI9{H@xEMI-4c+JU!AAAS|MC)N|*}32t$KCIo zuuflm{VjWG{FdUAeF?VZf2@!blG8H+M^fozGg2KBcT-Sq8+v5ynj;V2%Q`(RaM|!e zv6~*PyKxh{9~W1`mS-I&v2|q}jBRFqfL!AE*W^@9* IE|PorAA!UIYXATM literal 0 HcmV?d00001 diff --git a/applications/refresh-app/refreshApp.js b/applications/refresh-app/refreshApp.js new file mode 100644 index 0000000..5df357a --- /dev/null +++ b/applications/refresh-app/refreshApp.js @@ -0,0 +1,59 @@ +/* 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 button = tablet.addButton({ + text: "REFRESH
AVATAR", + icon: accountConvertIcon, + }); + + var button1 = tablet.addButton({ + text: "REFRESH
ATTACH", + icon: refreshIcon, + }); + + Script.scriptEnding.connect(function(){ + tablet.removeButton(button); + tablet.removeButton(button1); + button = null; + button1 = null; + }); + + // + button.clicked.connect(refreshAvatar); + function refreshAvatar() { + var modelURL = MyAvatar.getFullAvatarURLFromPreferences(); + modelURL = modelURL.split("?")[0] + "?" + new Date().getTime(); + MyAvatar.useFullAvatarURL(modelURL); + console.info('Avatar refreshed!', modelURL); + } + + button1.clicked.connect(refreshAttachments); + function refreshAttachments() { + var data = MyAvatar.getAvatarEntityData(); // everything, including boxes which have no modelURL + + for (var id in data) { + var attachment = data[id]; + if (attachment.type.toString() === 'Model') { + attachment.modelURL = attachment.modelURL.toString().split('?')[0] + '?' + Date.now(); + // console.info('Attachment refreshed!', attachment.modelURL); + } + } + + MyAvatar.setAvatarEntityData(data); + } + \ No newline at end of file