From 811fa8dcb29a3cb306fef95e49d98a5f824bd350 Mon Sep 17 00:00:00 2001 From: Wayne Chen Date: Fri, 1 Mar 2019 09:12:03 -0800 Subject: [PATCH] allowing bubble icon to toggle --- interface/resources/qml/AvatarInputsBar.qml | 8 +- interface/src/ui/PrivacyShield.cpp | 96 ++++++++++----------- 2 files changed, 51 insertions(+), 53 deletions(-) diff --git a/interface/resources/qml/AvatarInputsBar.qml b/interface/resources/qml/AvatarInputsBar.qml index 615e260833..ead4fbc618 100644 --- a/interface/resources/qml/AvatarInputsBar.qml +++ b/interface/resources/qml/AvatarInputsBar.qml @@ -36,7 +36,7 @@ Item { width: bubbleIcon.width + 10 height: parent.height radius: 5; - opacity: 0.5; + opacity: AvatarInputs.ignoreRadiusEnabled ? 0.7 : 0.3; color: "#00000000"; border { @@ -56,14 +56,12 @@ Item { scrollGestureEnabled: false; onClicked: { Tablet.playSound(TabletEnums.ButtonClick); + Users.toggleIgnoreRadius(); } drag.target: root; onContainsMouseChanged: { if (containsMouse) { Tablet.playSound(TabletEnums.ButtonHover); - bubbleRect.opacity = 0.7; - } else { - bubbleRect.opacity = 0.5; } } } @@ -82,7 +80,7 @@ Item { id: bubbleIconOverlay anchors.fill: bubbleIcon source: bubbleIcon - color: AvatarInputs.ignoreRadiusEnabled ? "#1FC6A6" : "#FFFFFF"; + color: "#FFFFFF"; } } } diff --git a/interface/src/ui/PrivacyShield.cpp b/interface/src/ui/PrivacyShield.cpp index e8f61ff5bf..279c05ee2d 100644 --- a/interface/src/ui/PrivacyShield.cpp +++ b/interface/src/ui/PrivacyShield.cpp @@ -37,22 +37,22 @@ PrivacyShield::PrivacyShield() { void PrivacyShield::createPrivacyShield() { // Affects bubble height - auto myAvatar = DependencyManager::get()->getMyAvatar(); - auto avatarScale = myAvatar->getTargetScale(); - auto avatarSensorToWorldScale = myAvatar->getSensorToWorldScale(); - auto avatarWorldPosition = myAvatar->getWorldPosition(); - auto avatarWorldOrientation = myAvatar->getWorldOrientation(); - EntityItemProperties properties; - properties.setName("Privacy-Shield"); - properties.setModelURL(PathUtils::resourcesUrl("assets/models/Bubble-v14.fbx").toString()); - properties.setDimensions(glm::vec3(avatarSensorToWorldScale, 0.75 * avatarSensorToWorldScale, avatarSensorToWorldScale)); - properties.setPosition(glm::vec3(avatarWorldPosition.x, - -avatarScale * 2 + avatarWorldPosition.y + avatarScale * PRIVACY_SHIELD_HEIGHT_SCALE, avatarWorldPosition.z)); - properties.setRotation(avatarWorldOrientation * Quaternions::Y_180); - properties.setModelScale(glm::vec3(2.0, 0.5 * (avatarScale + 1.0), 2.0)); - properties.setVisible(false); + //auto myAvatar = DependencyManager::get()->getMyAvatar(); + //auto avatarScale = myAvatar->getTargetScale(); + //auto avatarSensorToWorldScale = myAvatar->getSensorToWorldScale(); + //auto avatarWorldPosition = myAvatar->getWorldPosition(); + //auto avatarWorldOrientation = myAvatar->getWorldOrientation(); + //EntityItemProperties properties; + //properties.setName("Privacy-Shield"); + //properties.setModelURL(PathUtils::resourcesUrl("assets/models/Bubble-v14.fbx").toString()); + //properties.setDimensions(glm::vec3(avatarSensorToWorldScale, 0.75 * avatarSensorToWorldScale, avatarSensorToWorldScale)); + //properties.setPosition(glm::vec3(avatarWorldPosition.x, + // -avatarScale * 2 + avatarWorldPosition.y + avatarScale * PRIVACY_SHIELD_HEIGHT_SCALE, avatarWorldPosition.z)); + //properties.setRotation(avatarWorldOrientation * Quaternions::Y_180); + //properties.setModelScale(glm::vec3(2.0, 0.5 * (avatarScale + 1.0), 2.0)); + //properties.setVisible(false); - _localPrivacyShieldID = DependencyManager::get()->addEntityInternal(properties, entity::HostType::LOCAL); + //_localPrivacyShieldID = DependencyManager::get()->addEntityInternal(properties, entity::HostType::LOCAL); //_bubbleActivateSound = DependencyManager::get()->getSound(PathUtils::resourcesUrl() + "assets/sounds/bubble.wav"); //onPrivacyShieldToggled(DependencyManager::get()->getIgnoreRadiusEnabled(), true); @@ -63,39 +63,39 @@ void PrivacyShield::destroyPrivacyShield() { } void PrivacyShield::update(float deltaTime) { - if (_updateConnected) { - auto now = usecTimestampNow(); - auto delay = (now - _privacyShieldTimestamp); - auto privacyShieldAlpha = 1.0 - (delay / PRIVACY_SHIELD_VISIBLE_DURATION_MS); - if (privacyShieldAlpha > 0) { - auto myAvatar = DependencyManager::get()->getMyAvatar(); - auto avatarScale = myAvatar->getTargetScale(); - auto avatarSensorToWorldScale = myAvatar->getSensorToWorldScale(); - auto avatarWorldPosition = myAvatar->getWorldPosition(); - auto avatarWorldOrientation = myAvatar->getWorldOrientation(); - EntityItemProperties properties; - properties.setDimensions(glm::vec3(avatarSensorToWorldScale, 0.75 * avatarSensorToWorldScale, avatarSensorToWorldScale)); - properties.setRotation(avatarWorldOrientation * Quaternions::Y_180); - if (delay < PRIVACY_SHIELD_RAISE_ANIMATION_DURATION_MS) { - properties.setPosition(glm::vec3(avatarWorldPosition.x, - (-((PRIVACY_SHIELD_RAISE_ANIMATION_DURATION_MS - delay) / PRIVACY_SHIELD_RAISE_ANIMATION_DURATION_MS)) * avatarScale * 2.0 + - avatarWorldPosition.y + avatarScale * PRIVACY_SHIELD_HEIGHT_SCALE, avatarWorldPosition.z)); - properties.setModelScale(glm::vec3(2.0, - ((1 - ((PRIVACY_SHIELD_RAISE_ANIMATION_DURATION_MS - delay) / PRIVACY_SHIELD_RAISE_ANIMATION_DURATION_MS)) * - (0.5 * (avatarScale + 1.0))), 2.0)); - } else { - properties.setPosition(glm::vec3(avatarWorldPosition.x, avatarWorldPosition.y + avatarScale * PRIVACY_SHIELD_HEIGHT_SCALE, avatarWorldPosition.z)); - properties.setModelScale(glm::vec3(2.0, 0.5 * (avatarScale + 1.0), 2.0)); - } - DependencyManager::get()->editEntity(_localPrivacyShieldID, properties); - } - else { - hidePrivacyShield(); - if (_updateConnected) { - _updateConnected = false; - } - } - } + //if (_updateConnected) { + // auto now = usecTimestampNow(); + // auto delay = (now - _privacyShieldTimestamp); + // auto privacyShieldAlpha = 1.0 - (delay / PRIVACY_SHIELD_VISIBLE_DURATION_MS); + // if (privacyShieldAlpha > 0) { + // auto myAvatar = DependencyManager::get()->getMyAvatar(); + // auto avatarScale = myAvatar->getTargetScale(); + // auto avatarSensorToWorldScale = myAvatar->getSensorToWorldScale(); + // auto avatarWorldPosition = myAvatar->getWorldPosition(); + // auto avatarWorldOrientation = myAvatar->getWorldOrientation(); + // EntityItemProperties properties; + // properties.setDimensions(glm::vec3(avatarSensorToWorldScale, 0.75 * avatarSensorToWorldScale, avatarSensorToWorldScale)); + // properties.setRotation(avatarWorldOrientation * Quaternions::Y_180); + // if (delay < PRIVACY_SHIELD_RAISE_ANIMATION_DURATION_MS) { + // properties.setPosition(glm::vec3(avatarWorldPosition.x, + // (-((PRIVACY_SHIELD_RAISE_ANIMATION_DURATION_MS - delay) / PRIVACY_SHIELD_RAISE_ANIMATION_DURATION_MS)) * avatarScale * 2.0 + + // avatarWorldPosition.y + avatarScale * PRIVACY_SHIELD_HEIGHT_SCALE, avatarWorldPosition.z)); + // properties.setModelScale(glm::vec3(2.0, + // ((1 - ((PRIVACY_SHIELD_RAISE_ANIMATION_DURATION_MS - delay) / PRIVACY_SHIELD_RAISE_ANIMATION_DURATION_MS)) * + // (0.5 * (avatarScale + 1.0))), 2.0)); + // } else { + // properties.setPosition(glm::vec3(avatarWorldPosition.x, avatarWorldPosition.y + avatarScale * PRIVACY_SHIELD_HEIGHT_SCALE, avatarWorldPosition.z)); + // properties.setModelScale(glm::vec3(2.0, 0.5 * (avatarScale + 1.0), 2.0)); + // } + // DependencyManager::get()->editEntity(_localPrivacyShieldID, properties); + // } + // else { + // hidePrivacyShield(); + // if (_updateConnected) { + // _updateConnected = false; + // } + // } + //} } void PrivacyShield::enteredIgnoreRadius() {