Browse Source

fix for clone and events simplify

Nikolay Suslov 6 years ago
parent
commit
d91602a93b
3 changed files with 34 additions and 48 deletions
  1. 8 2
      public/app.js
  2. 7 25
      public/vwf/model/aframe/addon/aframe-components.js
  3. 19 21
      public/vwf/view/aframe.js

+ 8 - 2
public/app.js

@@ -1206,6 +1206,9 @@ class App {
     let userPub = await _LCSDB.get('users').get(userName).get('pub').then();
     let newOwner = _LCSDB.user().is.pub;
 
+    let myWorlds = await _LCSDB.user(newOwner).get('worlds').once().then();
+    if(!myWorlds) _LCSDB.user(newOwner).get('worlds').put({});
+
     if(newWorldName){
 
     let worldProto = await _LCSDB.user(newOwner).get('worlds').get(newWorldName).then();
@@ -1254,8 +1257,11 @@ class App {
     //   myNewWorld.get(obj).put(worldObj[obj]);
     // }
 
-    let myWorlds = await _LCSDB.user().get('worlds').then();
-    let myWorld = _LCSDB.user().get('worlds').get(worldID).put(worldObj);
+    //let myWorlds = await _LCSDB.user(newOwner).get('worlds').once().then();
+    let myWorld = _LCSDB.user(newOwner).get('worlds').get(worldID).put(worldObj);
+
+    // let myWorld = _LCSDB.user().get(worldID).put(worldObj);
+    // _LCSDB.user().get('worlds').set(myWorld);
 
     _app.hideProgressBar();
     console.log('CLONED!!!');

+ 7 - 25
public/vwf/model/aframe/addon/aframe-components.js

@@ -198,7 +198,6 @@ AFRAME.registerComponent('cursor-listener', {
             if (evt.detail.cursorEl.id.includes(vwf_view.kernel.moniker())) {
                 vwf_view.kernel.fireEvent(evt.detail.intersection.object.el.id, "clickEvent", [vwf_view.kernel.moniker()])
             }
-
             //vwf_view.kernel.fireEvent(evt.detail.target.id, "clickEvent")
         });
     }
@@ -208,23 +207,14 @@ AFRAME.registerComponent('aabb-collider-listener', {
 
     init: function () {
 
-        let self = this;
-        this.me = vwf_view.kernel.moniker();
-
+        // let self = this;
+        // this.me = vwf_view.kernel.moniker();
         this.el.addEventListener('hitstart', function (evt) {
-            //console.log('Hit start..' + evt);
-            let ownedby = evt.target.getAttribute('ownedby');
-            if (ownedby == self.me || (evt.target.id.includes(self.me))) { //if (evt.detail.el.id.includes(self.me)) {
-                vwf_view.kernel.fireEvent(evt.target.id, "hitstartEvent", [self.me]);
-            }
+            vwf_view.kernel.fireEvent(evt.target.id, "hitstartEvent");
         })
 
         this.el.addEventListener('hitend', function (evt) {
-            //console.log('Hit end..' + evt);
-            let ownedby = evt.target.getAttribute('ownedby');
-            if (ownedby == self.me || (evt.target.id.includes(self.me))) { //if (evt.detail.el.id.includes(self.me)) {
-                vwf_view.kernel.fireEvent(evt.target.id, "hitendEvent", [self.me]);
-            }
+            vwf_view.kernel.fireEvent(evt.target.id, "hitendEvent");
         })
     }
 
@@ -239,6 +229,7 @@ AFRAME.registerComponent('raycaster-listener', {
         this.intersected = false;
         this.casters = {}
         this.me = vwf_view.kernel.moniker();
+        this.driver = vwf.views["vwf/view/aframe"];
 
         this.el.addEventListener('raycaster-intersected', function (evt) {
 
@@ -248,15 +239,9 @@ AFRAME.registerComponent('raycaster-listener', {
             } else {
                 if (self.intersected) {
 
-
                 } else {
                     console.log('I was intersected at: ', evt.target);//evt.detail.getIntersection().point);
-                    //evt.detail.intersection.object.el.id
-
-                    let ownedby = evt.detail.el.getAttribute('ownedby');
-                    if (ownedby == self.me || (evt.detail.el.id.includes(self.me))) { //if (evt.detail.el.id.includes(self.me)) {
-                        vwf_view.kernel.fireEvent(evt.target.id, "intersectEvent", [self.me]);
-                    }
+                    vwf_view.kernel.fireEvent(evt.target.id, "intersectEvent");
                 }
 
                 self.casters[evt.target.id] = evt.target;
@@ -275,10 +260,7 @@ AFRAME.registerComponent('raycaster-listener', {
                 if (self.intersected) {
                     console.log('Clear intersection');
                     if (Object.entries(self.casters).length == 1 && (self.casters[evt.target.id] !== undefined)) {
-                        let ownedby = evt.detail.el.getAttribute('ownedby');
-                        if (ownedby == self.me || (evt.detail.el.id.includes(self.me))) {  //if (evt.detail.el.id.includes(self.me)) {
-                            vwf_view.kernel.fireEvent(evt.target.id, "clearIntersectEvent", [vwf_view.kernel.moniker()])
-                        }
+                        vwf_view.kernel.fireEvent(evt.target.id, "clearIntersectEvent")
                     }
                     delete self.casters[evt.target.id]
                 } else { }

+ 19 - 21
public/vwf/view/aframe.js

@@ -174,17 +174,17 @@ define(["module", "vwf/view"], function (module, view) {
             }
 
 
-            if (node.prototypes.includes("http://vwf.example.com/aframe/aentity.vwf")) {
+            // if (node.prototypes.includes("http://vwf.example.com/aframe/aentity.vwf")) {
 
-                var clientThatSatProperty = self.kernel.client();
-                var me = self.kernel.moniker();
+            //     var clientThatSatProperty = self.kernel.client();
+            //     var me = self.kernel.moniker();
 
 
-                // If the transform property was initially updated by this view....
-                if (clientThatSatProperty == me) {
-                    self.kernel.callMethod(childID, "setOwner", [me]);
-                }
-            }
+            //     // If the transform property was initially updated by this view....
+            //     if (clientThatSatProperty == me) {
+            //         self.kernel.callMethod(childID, "setOwner", [me]);
+            //     }
+            // }
 
 
             // if (propertyName == 'ownedBy')
@@ -401,15 +401,15 @@ define(["module", "vwf/view"], function (module, view) {
 
             //var avatarID = vwf_view.kernel.find("", avatarName)
 
-            if (eventName == "postLoadAction") {
+            // if (eventName == "postLoadAction") {
 
-                Object.entries(self.state.nodes).forEach(el => {
-                    if (el[1].prototypes.includes("http://vwf.example.com/aframe/aentity.vwf")) {
-                        vwf_view.kernel.callMethod(el[0], "setOwner", [self.kernel.moniker()]);
-                    }
+            //     Object.entries(self.state.nodes).forEach(el => {
+            //         if (el[1].prototypes.includes("http://vwf.example.com/aframe/aentity.vwf")) {
+            //             vwf_view.kernel.callMethod(el[0], "setOwner", [self.kernel.moniker()]);
+            //         }
 
-                });
-            }
+            //     });
+            // }
 
             var avatarName = 'avatar-' + self.kernel.moniker();
 
@@ -474,7 +474,7 @@ define(["module", "vwf/view"], function (module, view) {
 
             }
 
-            let intersectEvents = ['hitstart', 'hitend', 'intersect', 'clearIntersect'];
+            let intersectEvents = ['hitstart', 'hitend', 'intersect', 'clearIntersect']; //'intersect', 
 
             let hitEvent = intersectEvents.filter(el=> el == eventName.slice(0,-5))[0]; //slice Event word
             if (hitEvent)
@@ -484,16 +484,14 @@ define(["module", "vwf/view"], function (module, view) {
 
                 // If the transform property was initially updated by this view....
                 if (clientThatSatProperty == me) {
-
-                    if (me == eventParameters[0]) {
                         let methodName = eventName +'Method';
-                        vwf_view.kernel.callMethod(nodeID, methodName, [])
-                    }
+                        vwf.callMethod(nodeID, methodName, [])
                 }
 
             }
     
 
+
             if (eventName == "clickEvent") {
 
                 if (self.kernel.moniker() == eventParameters[0]) {
@@ -962,7 +960,7 @@ define(["module", "vwf/view"], function (module, view) {
 
     function postLoadAction(nodeID) {
 
-        vwf_view.kernel.fireEvent(nodeID, "postLoadAction")
+        //vwf_view.kernel.fireEvent(nodeID, "postLoadAction")
     }
 
     function createAvatar(nodeID) {