From 6b659101d583c3d64fbcf7be8e28d5c1397d5082 Mon Sep 17 00:00:00 2001 From: Zach Fox Date: Fri, 16 Jun 2017 15:09:13 -0700 Subject: [PATCH] Fix teleporting to another user from the PAL --- interface/resources/qml/hifi/NameCard.qml | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/interface/resources/qml/hifi/NameCard.qml b/interface/resources/qml/hifi/NameCard.qml index a86defdfd7..a9b5e7f858 100644 --- a/interface/resources/qml/hifi/NameCard.qml +++ b/interface/resources/qml/hifi/NameCard.qml @@ -243,7 +243,7 @@ Item { enabled: selected && pal.activeTab == "nearbyTab" && thisNameCard.userName !== "" && isPresent; hoverEnabled: enabled onClicked: { - goToUserInDomain(thisNameCard.uuid); + AddressManager.goToUser(thisNameCard.userName); UserActivityLogger.palAction("go_to_user_in_domain", thisNameCard.uuid); } onEntered: { @@ -338,7 +338,7 @@ Item { enabled: selected && pal.activeTab == "nearbyTab" && thisNameCard.userName !== "" && isPresent; hoverEnabled: enabled onClicked: { - goToUserInDomain(thisNameCard.uuid); + AddressManager.goToUser(thisNameCard.userName); UserActivityLogger.palAction("go_to_user_in_domain", thisNameCard.uuid); } onEntered: { @@ -582,22 +582,4 @@ Item { UserActivityLogger.palAction("avatar_gain_changed", avatarUuid); } } - - // Function body by Howard Stearns 2017-01-08 - function goToUserInDomain(avatarUuid) { - var avatar = AvatarList.getAvatar(avatarUuid); - if (!avatar) { - console.log("This avatar is no longer present. goToUserInDomain() failed."); - return; - } - var vector = Vec3.subtract(avatar.position, MyAvatar.position); - var distance = Vec3.length(vector); - var target = Vec3.multiply(Vec3.normalize(vector), distance - 2.0); - // FIXME: We would like the avatar to recompute the avatar's "maybe fly" test at the new position, so that if high enough up, - // the avatar goes into fly mode rather than falling. However, that is not exposed to Javascript right now. - // FIXME: it would be nice if this used the same teleport steps and smoothing as in the teleport.js script. - // Note, however, that this script allows teleporting to a person in the air, while teleport.js is going to a grounded target. - MyAvatar.orientation = Quat.lookAtSimple(MyAvatar.position, avatar.position); - MyAvatar.position = Vec3.sum(MyAvatar.position, target); - } }