From 120c678557159bbe8eb293ab98b27b572c43e2b8 Mon Sep 17 00:00:00 2001 From: milad Date: Fri, 6 Sep 2019 10:51:12 -0700 Subject: [PATCH] added a wearable check for avimojis on startup --- .../emojiApp/simplifiedEmoji.js | 27 +++++++++++++++++-- .../simplifiedEmote/simplifiedEmote.js | 2 +- scripts/simplifiedUI/ui/simplifiedUI.js | 1 + 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js b/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js index a0fe6cf811..b005966951 100644 --- a/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js +++ b/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js @@ -79,7 +79,6 @@ function pruneOldAvimojis() { }); } - function maybeClearTimeoutDelete() { if (defaultTimeout) { Script.clearTimeout(defaultTimeout); @@ -157,6 +156,7 @@ function handleSelectedEmoji(emojiFilename) { } } + function onDomainChanged() { resetEmojis(); } @@ -167,6 +167,16 @@ function onScaleChanged() { } +function onAddingWearable(id) { + var props = Entities.getEntityProperties(id, ["name"]); + if (props.name.toLowerCase().indexOf("avimoji") > -1) { + Entities.deleteEntity(id); + } else { + return; + } +} + + // #endregion // ************************************* // END ui_handlers @@ -179,7 +189,13 @@ function onScaleChanged() { // what happens when we need to add an emoji over a user +var firstEmojiMadeOnStartup = false; function addEmoji(emojiFilename) { + if (!firstEmojiMadeOnStartup) { + firstEmojiMadeOnStartup = true; + Entities.addingWearable.disconnect(onAddingWearable); + } + if (currentEmoji) { resetEmojis(); } @@ -219,7 +235,8 @@ function createEmoji(emojiFilename) { "billboardMode": "full", "ignorePickIntersection": true, "alpha": 1, - "grab": { "grabbable": false } + "grab": { "grabbable": false }, + "userData": JSON.stringify({ timestamp: Date.now() }) }, "avatar"); maybePlayPop("in"); @@ -389,6 +406,7 @@ var emojiCodeMap; var customEmojiCodeMap; var signalsConnected = false; var _this; +var startupTimeStamp = Date.now(); function startup() { // make a map of just the utf codes to help with accesing emojiCodeMap = emojiList.reduce(function (codeMap, currentEmojiInList, index) { @@ -418,6 +436,7 @@ function startup() { Script.scriptEnding.connect(unload); Window.domainChanged.connect(onDomainChanged); MyAvatar.scaleChanged.connect(onScaleChanged); + Entities.addingWearable.connect(onAddingWearable); signalsConnected = true; function AviMoji() { @@ -457,6 +476,10 @@ function unload() { if (signalsConnected) { Window.domainChanged.disconnect(onDomainChanged); MyAvatar.scaleChanged.disconnect(onScaleChanged); + if (firstEmojiMadeOnStartup) { + Entities.addingWearable.disconnect(onAddingWearable); + } + signalsConnected = false; } } diff --git a/scripts/simplifiedUI/simplifiedEmote/simplifiedEmote.js b/scripts/simplifiedUI/simplifiedEmote/simplifiedEmote.js index abf0dd73e8..f76ef72a33 100644 --- a/scripts/simplifiedUI/simplifiedEmote/simplifiedEmote.js +++ b/scripts/simplifiedUI/simplifiedEmote/simplifiedEmote.js @@ -543,7 +543,7 @@ function onDisplayModeChanged(isHMDMode) { } -var emojiAPI = Script.require("./emojiApp/simplifiedEmoji.js"); +var emojiAPI = Script.require("./emojiApp/simplifiedEmoji.js?" + Date.now()); var keyPressSignalsConnected = false; var emojiCodeMap; var customEmojiCodeMap; diff --git a/scripts/simplifiedUI/ui/simplifiedUI.js b/scripts/simplifiedUI/ui/simplifiedUI.js index c388c594c9..d63b0294b2 100644 --- a/scripts/simplifiedUI/ui/simplifiedUI.js +++ b/scripts/simplifiedUI/ui/simplifiedUI.js @@ -590,6 +590,7 @@ var oldShowAudioTools; var oldShowBubbleTools; var keepExistingUIAndScriptsSetting = Settings.getValue("simplifiedUI/keepExistingUIAndScripts", false); function startup() { + maybeRemoveDesktopMenu(); modifyLODSettings();