allow a non-colliding grab of locked entities

This commit is contained in:
Stephen Birarda 2015-11-03 14:22:41 -08:00
parent 4215ce5d25
commit 8346ce27b3

View file

@ -352,7 +352,7 @@ function MyController(hand) {
var intersection = Entities.findRayIntersection(pickRayBacked, true);
if (intersection.intersects && !intersection.properties.locked) {
if (intersection.intersects) {
// the ray is intersecting something we can move.
var intersectionDistance = Vec3.distance(pickRay.origin, intersection.intersection);
this.grabbedEntity = intersection.entityID;
@ -381,7 +381,7 @@ function MyController(hand) {
// the hand is very close to the intersected object. go into close-grabbing mode.
if (grabbableData.wantsTrigger) {
this.setState(STATE_NEAR_GRABBING_NON_COLLIDING);
} else {
} else if (!intersection.properties.locked) {
this.setState(STATE_NEAR_GRABBING);
}
} else {
@ -390,7 +390,8 @@ function MyController(hand) {
this.grabbedEntity = null;
} else {
// the hand is far from the intersected object. go into distance-holding mode
if (intersection.properties.collisionsWillMove) {
if (intersection.properties.collisionsWillMove
&& !intersection.properties.locked) {
this.setState(STATE_DISTANCE_HOLDING);
} else {
this.setState(STATE_FAR_GRABBING_NON_COLLIDING);