repo: janusweb action: commit revision: path_from: revision_from: ed3160edc21f361f002ee02a8d5ee0a7b696a001: path_to: revision_to:
commit ed3160edc21f361f002ee02a8d5ee0a7b696a001 Author: James BaicoianuDate: Sun Jul 26 18:15:51 2020 -0700 Respect thing.pickable parameter in raycast diff --git a/scripts/room.js b/scripts/room.js
--- a/scripts/room.js
+++ b/scripts/room.js
@@ -2269,24 +2269,26 @@ elation.require([
return function(dir, pos, classname) {
_ray.set(pos, dir);
var intersections = _ray.intersectObject(this.colliders, true);
- var hits = intersections;
+ var hits = [];
if (classname) {
- hits = [];
for (var i = 0; i < intersections.length; i++) {
var obj = intersections[i].object,
thing = this.getThingForObject(obj);
- if (thing.hasClass(classname)) {
+ if (obj.pickable && thing.hasClass(classname)) {
intersections[i].mesh = obj;
intersections[i].object = thing.getProxyObject();
hits.push(intersections[i]);
}
}
} else {
- for (var i = 0; i < hits.length; i++) {
- var obj = hits[i].object,
+ for (var i = 0; i < intersections.length; i++) {
+ var obj = intersections[i].object,
thing = this.getThingForObject(obj);
- hits[i].mesh = hits[i].object;
- hits[i].object = thing.getProxyObject();
+ if (thing.pickable) {
+ intersections[i].mesh = intersections[i].object;
+ intersections[i].object = thing.getProxyObject();
+ hits.push(intersections[i]);
+ }
}
}
return hits;
-----END OF PAGE-----