Browse Source

Adding a new ActionEvent object to ExecuteActionCode action

David Catuhe 11 years ago
parent
commit
687bf540af

+ 3 - 3
Babylon/Actions/babylon.action.js

@@ -10,7 +10,7 @@
         Action.prototype._prepare = function () {
         };
 
-        Action.prototype._executeCurrent = function (source) {
+        Action.prototype._executeCurrent = function (evt) {
             if (this._condition) {
                 var currentRenderId = this._actionManager.getScene().getRenderId();
 
@@ -31,7 +31,7 @@
                 }
             }
 
-            this._nextActiveAction.execute(source);
+            this._nextActiveAction.execute(evt);
 
             if (this._nextActiveAction._child) {
                 this._nextActiveAction = this._nextActiveAction._child;
@@ -40,7 +40,7 @@
             }
         };
 
-        Action.prototype.execute = function (source) {
+        Action.prototype.execute = function (evt) {
         };
 
         Action.prototype.then = function (action) {

+ 3 - 3
Babylon/Actions/babylon.action.ts

@@ -15,7 +15,7 @@
         public _prepare(): void {
         }
 
-        public _executeCurrent(source: AbstractMesh): void {
+        public _executeCurrent(evt: ActionEvent): void {
             if (this._condition) {
                 var currentRenderId = this._actionManager.getScene().getRenderId();
 
@@ -36,7 +36,7 @@
                 }
             }
 
-            this._nextActiveAction.execute(source);
+            this._nextActiveAction.execute(evt);
 
             if (this._nextActiveAction._child) {
                 this._nextActiveAction = this._nextActiveAction._child;
@@ -45,7 +45,7 @@
             }
         }
 
-        public execute(source: AbstractMesh): void {
+        public execute(evt: ActionEvent): void {
 
         }
 

+ 17 - 2
Babylon/Actions/babylon.actionManager.js

@@ -1,5 +1,20 @@
 var BABYLON;
 (function (BABYLON) {
+    var ActionEvent = (function () {
+        function ActionEvent(source, pointerX, pointerY, meshUnderPointer) {
+            this.source = source;
+            this.pointerX = pointerX;
+            this.pointerY = pointerY;
+            this.meshUnderPointer = meshUnderPointer;
+        }
+        ActionEvent.CreateNew = function (source) {
+            var scene = source.getScene();
+            return new ActionEvent(source, scene.pointerX, scene.pointerY, scene.meshUnderPointer);
+        };
+        return ActionEvent;
+    })();
+    BABYLON.ActionEvent = ActionEvent;
+
     var ActionManager = (function () {
         function ActionManager(scene) {
             // Members
@@ -91,12 +106,12 @@
             return action;
         };
 
-        ActionManager.prototype.processTrigger = function (trigger, source) {
+        ActionManager.prototype.processTrigger = function (trigger, evt) {
             for (var index = 0; index < this.actions.length; index++) {
                 var action = this.actions[index];
 
                 if (action.trigger === trigger) {
-                    action._executeCurrent(source);
+                    action._executeCurrent(evt);
                 }
             }
         };

+ 14 - 2
Babylon/Actions/babylon.actionManager.ts

@@ -1,4 +1,16 @@
 module BABYLON {
+
+    export class ActionEvent {
+        constructor(public source: AbstractMesh, public pointerX: number, public pointerY: number, public meshUnderPointer: AbstractMesh) {
+            
+        }
+
+        public static CreateNew(source: AbstractMesh): ActionEvent {
+            var scene = source.getScene();
+            return new ActionEvent(source, scene.pointerX, scene.pointerY, scene.meshUnderPointer);
+        }
+    }
+
     export class ActionManager {
         // Statics
         private static _NothingTrigger = 0;
@@ -73,12 +85,12 @@
             return action;
         }
 
-        public processTrigger(trigger: number, source: AbstractMesh): void {
+        public processTrigger(trigger: number, evt: ActionEvent): void {
             for (var index = 0; index < this.actions.length; index++) {
                 var action = this.actions[index];
 
                 if (action.trigger === trigger) {
-                    action._executeCurrent(source);
+                    action._executeCurrent(evt);
                 }
             }
         }

+ 4 - 4
Babylon/Actions/babylon.directActions.js

@@ -145,9 +145,9 @@ var BABYLON;
             }
         };
 
-        CombineAction.prototype.execute = function (source) {
+        CombineAction.prototype.execute = function (evt) {
             for (var index = 0; index < this.children.length; index++) {
-                this.children[index].execute(source);
+                this.children[index].execute(evt);
             }
         };
         return CombineAction;
@@ -160,8 +160,8 @@ var BABYLON;
             _super.call(this, trigger, condition);
             this.func = func;
         }
-        ExecuteCodeAction.prototype.execute = function (source) {
-            this.func(source);
+        ExecuteCodeAction.prototype.execute = function (evt) {
+            this.func(evt);
         };
         return ExecuteCodeAction;
     })(BABYLON.Action);

+ 5 - 5
Babylon/Actions/babylon.directActions.ts

@@ -128,20 +128,20 @@
             }
         }
 
-        public execute(source: AbstractMesh): void {
+        public execute(evt: ActionEvent): void {
             for (var index = 0; index < this.children.length; index++) {
-                this.children[index].execute(source);
+                this.children[index].execute(evt);
             }
         }
     }
 
     export class ExecuteCodeAction extends Action {
-        constructor(trigger: number, public func: (source: AbstractMesh) => void, condition?: Condition) {
+        constructor(trigger: number, public func: (evt: ActionEvent) => void, condition?: Condition) {
             super(trigger, condition);
         }
 
-        public execute(source: AbstractMesh): void {
-            this.func(source);
+        public execute(evt: ActionEvent): void {
+            this.func(evt);
         }
     }
 

+ 1 - 0
Babylon/Cameras/babylon.arcRotateCamera.js

@@ -232,6 +232,7 @@ var BABYLON;
                     _this._keys = [];
                     _this.inertialAlphaOffset = 0;
                     _this.inertialBetaOffset = 0;
+                    _this.inertialRadiusOffset = 0;
                     previousPosition = null;
                     pointerId = null;
                 };

+ 1 - 0
Babylon/Cameras/babylon.arcRotateCamera.ts

@@ -248,6 +248,7 @@
                     this._keys = [];
                     this.inertialAlphaOffset = 0;
                     this.inertialBetaOffset = 0;
+                    this.inertialRadiusOffset = 0;
                     previousPosition = null;
                     pointerId = null;
                 };

+ 4 - 1
Babylon/Loading/Plugins/babylon.babylonFileLoader.js

@@ -289,7 +289,7 @@ var BABYLON = BABYLON || {};
 
         BABYLON.Tags.AddTagsTo(light, parsedLight.tags);
 
-        if (parsedLight.intensity) {
+        if (parsedLight.intensity !== undefined) {
             light.intensity = parsedLight.intensity;
         }
 
@@ -531,6 +531,9 @@ var BABYLON = BABYLON || {};
         mesh.isVisible = parsedMesh.isVisible;
         mesh.infiniteDistance = parsedMesh.infiniteDistance;
 
+        mesh.showBoundingBox = parsedMesh.showBoundingBox;
+        mesh.showSubMeshesBoundingBox = parsedMesh.showSubMeshesBoundingBox;
+
         if (parsedMesh.pickable !== undefined) {
             mesh.isPickable = parsedMesh.pickable;
         }

+ 6 - 6
Babylon/babylon.scene.js

@@ -203,16 +203,16 @@
                     if (pickResult.pickedMesh.actionManager) {
                         switch (evt.buttons) {
                             case 1:
-                                pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnLeftPickTrigger, pickResult.pickedMesh);
+                                pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnLeftPickTrigger, BABYLON.ActionEvent.CreateNew(pickResult.pickedMesh));
                                 break;
                             case 2:
-                                pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnRightPickTrigger, pickResult.pickedMesh);
+                                pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnRightPickTrigger, BABYLON.ActionEvent.CreateNew(pickResult.pickedMesh));
                                 break;
                             case 3:
-                                pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnCenterPickTrigger, pickResult.pickedMesh);
+                                pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnCenterPickTrigger, BABYLON.ActionEvent.CreateNew(pickResult.pickedMesh));
                                 break;
                         }
-                        pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnPickTrigger, pickResult.pickedMesh);
+                        pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnPickTrigger, BABYLON.ActionEvent.CreateNew(pickResult.pickedMesh));
                     }
                 }
 
@@ -1162,12 +1162,12 @@
             }
 
             if (this._pointerOverMesh && this._pointerOverMesh.actionManager) {
-                this._pointerOverMesh.actionManager.processTrigger(BABYLON.ActionManager.OnPointerOutTrigger, this._pointerOverMesh);
+                this._pointerOverMesh.actionManager.processTrigger(BABYLON.ActionManager.OnPointerOutTrigger, BABYLON.ActionEvent.CreateNew(this._pointerOverMesh));
             }
 
             this._pointerOverMesh = mesh;
             if (this._pointerOverMesh && this._pointerOverMesh.actionManager) {
-                this._pointerOverMesh.actionManager.processTrigger(BABYLON.ActionManager.OnPointerOverTrigger, this._pointerOverMesh);
+                this._pointerOverMesh.actionManager.processTrigger(BABYLON.ActionManager.OnPointerOverTrigger, BABYLON.ActionEvent.CreateNew(this._pointerOverMesh));
             }
         };
 

+ 6 - 6
Babylon/babylon.scene.ts

@@ -266,16 +266,16 @@
                     if (pickResult.pickedMesh.actionManager) {
                         switch (evt.buttons) {
                             case 1:
-                                pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnLeftPickTrigger, pickResult.pickedMesh);
+                                pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnLeftPickTrigger, ActionEvent.CreateNew(pickResult.pickedMesh));
                                 break;
                             case 2:
-                                pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnRightPickTrigger, pickResult.pickedMesh);
+                                pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnRightPickTrigger, ActionEvent.CreateNew(pickResult.pickedMesh));
                                 break;
                             case 3:
-                                pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnCenterPickTrigger, pickResult.pickedMesh);
+                                pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnCenterPickTrigger, ActionEvent.CreateNew(pickResult.pickedMesh));
                                 break;
                         }
-                        pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnPickTrigger, pickResult.pickedMesh);
+                        pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnPickTrigger, ActionEvent.CreateNew(pickResult.pickedMesh));
                     }
                 }
 
@@ -1233,12 +1233,12 @@
             }
 
             if (this._pointerOverMesh && this._pointerOverMesh.actionManager) {
-                this._pointerOverMesh.actionManager.processTrigger(ActionManager.OnPointerOutTrigger, this._pointerOverMesh);
+                this._pointerOverMesh.actionManager.processTrigger(ActionManager.OnPointerOutTrigger, ActionEvent.CreateNew(this._pointerOverMesh));
             }
 
             this._pointerOverMesh = mesh;
             if (this._pointerOverMesh && this._pointerOverMesh.actionManager) {
-                this._pointerOverMesh.actionManager.processTrigger(ActionManager.OnPointerOverTrigger, this._pointerOverMesh);
+                this._pointerOverMesh.actionManager.processTrigger(ActionManager.OnPointerOverTrigger, ActionEvent.CreateNew(this._pointerOverMesh));
             }
         }
 

File diff suppressed because it is too large
+ 8 - 8
babylon.1.12-beta.js