repo: janusweb
action: commit
revision: 
path_from: 
revision_from: a886a6a6f9fcd2236b5ca07ed075e50848d568f5:
path_to: 
revision_to: 
git.thebackupbox.net
janusweb
git clone git://git.thebackupbox.net/janusweb
commit a886a6a6f9fcd2236b5ca07ed075e50848d568f5
Author: James Baicoianu 
Date:   Wed May 8 12:45:51 2019 -0700

    .updateColor() method using .traverseObjects()

diff --git a/scripts/object.js b/scripts/object.js
index d7de0548ea472ee20f44e3e8f0173219fdb46983..
index ..6ff080b836e031a616329e3c101a43a1c1c0a9a2 100644
--- a/scripts/object.js
+++ b/scripts/object.js
@@ -660,6 +660,26 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {

       return m;
     }
+    this.updateColor = function() {
+      elation.engine.things.janusobject.extendclass.updateColor.call(this);
+
+      if (this.objects['3d']) {
+        this.traverseObjects(n => {
+          if (n.material) {
+            n.material.color = this.properties.color;
+
+            var m = (elation.utils.isArray(n.material) ? n.material : [n.material]);
+            for (var i = 0; i < m.length; i++) {
+              m[i].opacity = this.opacity;
+              m[i].transparent = (m[i].opacity < 1);
+              if (m[i].transparent) {
+                m[i].alphaTest = this.alphatest;
+              }
+            }
+          }
+        });
+      }
+    }
     this.isUsingPBR = function() {
       return this.lighting && elation.utils.any(this.room.pbr, elation.config.get('janusweb.materials.pbr'));
     }

-----END OF PAGE-----