From bf35b0817903692c36d8a2835936398000691633 Mon Sep 17 00:00:00 2001 From: Elisa Lupin-Jimenez Date: Wed, 16 Aug 2017 17:27:29 -0700 Subject: [PATCH 1/4] Emoji tablet app --- .../marketplace/emoji-tablet/emojiTablet.js | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 unpublishedScripts/marketplace/emoji-tablet/emojiTablet.js diff --git a/unpublishedScripts/marketplace/emoji-tablet/emojiTablet.js b/unpublishedScripts/marketplace/emoji-tablet/emojiTablet.js new file mode 100644 index 0000000000..c03a0225da --- /dev/null +++ b/unpublishedScripts/marketplace/emoji-tablet/emojiTablet.js @@ -0,0 +1,80 @@ +/// +/// emojiTablet.js +/// A tablet app for sending emojis to other users +/// +/// Author: Elisa Lupin-Jimenez +/// Copyright High Fidelity 2017 +/// +/// Licensed under the Apache 2.0 License +/// See accompanying license file or http://apache.org/ +/// +/// All assets are under CC Attribution Non-Commerical +/// http://creativecommons.org/licenses/ +/// + +// to avoid the caching block on updating JSONs +var DEBUG = true; + +if (DEBUG) { + var lib = Script.require("https://hifi-content.s3.amazonaws.com/elisalj/emoji_scripts/emojiLib.js?" + Date.now()); +} else { + var lib = Script.require("./emojiLib.js"); +} + + +(function() { + + var APP_NAME = "EMOJIS"; + var APP_URL = "https://hifi-content.s3.amazonaws.com/elisalj/emoji_scripts/emojiTabletUI.html?" + Date.now(); + var APP_ICON = null; + var tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system"); + + var button = tablet.addButton({ + //icon: APP_ICON, + text: APP_NAME + }); + + // Activates tablet UI when selected from menu + function onClicked() { + tablet.gotoWebScreen(APP_URL); + }; + button.clicked.connect(onClicked); + + // Gives position right in front of user's avatar + function getPositionToCreateEntity() { + var direction = Quat.getFront(MyAvatar.orientation); + var distance = 0.3; + var position = Vec3.sum(MyAvatar.position, Vec3.multiply(direction, distance)); + position.y += 0.5; + return position; + }; + + var emojiJSON = null; + + // Handles emoji button clicks to retrieve the link to the emoji JSON from emojiLib + function onWebEventReceived(event) { + var emojiName = (JSON.parse(event)).data; + var url = lib.getEmoji(emojiName, lib.emojiLib); + if (url != null) { + emojiJSON = Script.require(url); + create3DEmoji(emojiJSON, null); + } else { + print("Unable to create emoji"); + } + }; + tablet.webEventReceived.connect(onWebEventReceived); + + function create3DEmoji(emojiJSON, userName) { + print("Creating " + emojiJSON.name + " emoji"); + emojiJSON.position = getPositionToCreateEntity(emojiJSON.personified); + var newEmoji = Entities.addEntity(emojiJSON); + }; + + // When tablet UI is closed and app is removed from menu + function cleanup() { + tablet.removeButton(button); + }; + Script.scriptEnding.connect(cleanup); + +}()); + From e03297979434f0c6e0a21476b7899abb7ca1a21a Mon Sep 17 00:00:00 2001 From: Elisa Lupin-Jimenez Date: Wed, 16 Aug 2017 17:33:14 -0700 Subject: [PATCH 2/4] a little cleanup --- .../marketplace/emoji-tablet/emojiTablet.js | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/unpublishedScripts/marketplace/emoji-tablet/emojiTablet.js b/unpublishedScripts/marketplace/emoji-tablet/emojiTablet.js index c03a0225da..bcf336cf37 100644 --- a/unpublishedScripts/marketplace/emoji-tablet/emojiTablet.js +++ b/unpublishedScripts/marketplace/emoji-tablet/emojiTablet.js @@ -12,15 +12,7 @@ /// http://creativecommons.org/licenses/ /// -// to avoid the caching block on updating JSONs -var DEBUG = true; - -if (DEBUG) { - var lib = Script.require("https://hifi-content.s3.amazonaws.com/elisalj/emoji_scripts/emojiLib.js?" + Date.now()); -} else { - var lib = Script.require("./emojiLib.js"); -} - +var lib = Script.require("https://hifi-content.s3.amazonaws.com/elisalj/emoji_scripts/emojiLib.js?" + Date.now()); (function() { From 930f163ca160db3824f4dc7d015e07883ae6feac Mon Sep 17 00:00:00 2001 From: Elisa Lupin-Jimenez Date: Wed, 16 Aug 2017 17:57:32 -0700 Subject: [PATCH 3/4] added app icon --- unpublishedScripts/marketplace/emoji-tablet/emojiTablet.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/unpublishedScripts/marketplace/emoji-tablet/emojiTablet.js b/unpublishedScripts/marketplace/emoji-tablet/emojiTablet.js index bcf336cf37..d6346ff970 100644 --- a/unpublishedScripts/marketplace/emoji-tablet/emojiTablet.js +++ b/unpublishedScripts/marketplace/emoji-tablet/emojiTablet.js @@ -18,11 +18,11 @@ var lib = Script.require("https://hifi-content.s3.amazonaws.com/elisalj/emoji_sc var APP_NAME = "EMOJIS"; var APP_URL = "https://hifi-content.s3.amazonaws.com/elisalj/emoji_scripts/emojiTabletUI.html?" + Date.now(); - var APP_ICON = null; + var APP_ICON = "https://hifi-content.s3.amazonaws.com/elisalj/emoji_scripts/icons/emoji-a.svg"; var tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system"); var button = tablet.addButton({ - //icon: APP_ICON, + icon: APP_ICON, text: APP_NAME }); From a9d5cb45e9345e0b56aa823697de861ab93c1aa5 Mon Sep 17 00:00:00 2001 From: Elisa Lupin-Jimenez Date: Thu, 17 Aug 2017 10:11:29 -0700 Subject: [PATCH 4/4] changed icon to white --- unpublishedScripts/marketplace/emoji-tablet/emojiTablet.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unpublishedScripts/marketplace/emoji-tablet/emojiTablet.js b/unpublishedScripts/marketplace/emoji-tablet/emojiTablet.js index d6346ff970..b4d01e77cf 100644 --- a/unpublishedScripts/marketplace/emoji-tablet/emojiTablet.js +++ b/unpublishedScripts/marketplace/emoji-tablet/emojiTablet.js @@ -18,7 +18,7 @@ var lib = Script.require("https://hifi-content.s3.amazonaws.com/elisalj/emoji_sc var APP_NAME = "EMOJIS"; var APP_URL = "https://hifi-content.s3.amazonaws.com/elisalj/emoji_scripts/emojiTabletUI.html?" + Date.now(); - var APP_ICON = "https://hifi-content.s3.amazonaws.com/elisalj/emoji_scripts/icons/emoji-a.svg"; + var APP_ICON = "https://hifi-content.s3.amazonaws.com/elisalj/emoji_scripts/icons/emoji-i.svg"; var tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system"); var button = tablet.addButton({