diff --git a/src/alternativa/editor/mapexport/CollisionBox.as b/src/alternativa/editor/mapexport/CollisionBox.as index 4cfc012..27189f5 100644 --- a/src/alternativa/editor/mapexport/CollisionBox.as +++ b/src/alternativa/editor/mapexport/CollisionBox.as @@ -20,16 +20,16 @@ package alternativa.editor.mapexport { var loc8:Vertex = null; var loc9:Point3D = null; - var loc10:Point3D = null; + var loc10:Point3D = new Point3D(); var loc2:Number = Number.MAX_VALUE; var loc3:Number = -Number.MAX_VALUE; var loc4:Number = Number.MAX_VALUE; var loc5:Number = -Number.MAX_VALUE; var loc6:Number = Number.MAX_VALUE; var loc7:Number = -Number.MAX_VALUE; - for each(loc8 in param1.alternativa3d::_vertices) + for each(loc8 in param1.vertices) { - loc10 = loc8.alternativa3d::_coords; + loc10.copyFromVertex(loc8); if(loc10.x < loc2) { loc2 = loc10.x; diff --git a/src/alternativa/editor/mapexport/CollisionRect.as b/src/alternativa/editor/mapexport/CollisionRect.as index cb50c09..63f19cd 100644 --- a/src/alternativa/editor/mapexport/CollisionRect.as +++ b/src/alternativa/editor/mapexport/CollisionRect.as @@ -5,9 +5,13 @@ package alternativa.editor.mapexport import alternativa.engine3d.objects.Mesh; import alternativa.types.Matrix4; import alternativa.types.Point3D; + import alternativa.engine3d.core.Vertex; public class CollisionRect extends CollisionPrimitive { + private static const p1:Point3D = new Point3D(); + private static const p2:Point3D = new Point3D(); + public var width:Number = 0; public var length:Number = 0; @@ -22,7 +26,8 @@ package alternativa.editor.mapexport var loc2:int = 0; var loc14:Point3D = null; var loc15:Number = NaN; - var loc3:Face = param1.alternativa3d::_faces.peek() as Face; + var loc3:Face = param1.faceList; + var vertices:Vector. = loc3.vertices; var loc4:Number = -1; var loc5:int = 0; var loc6:Vector. = Vector.([new Point3D(),new Point3D(),new Point3D()]); @@ -31,7 +36,7 @@ package alternativa.editor.mapexport while(loc2 < 3) { loc14 = loc6[loc2]; - loc14.difference(loc3.vertices[(loc2 + 1) % 3].alternativa3d::_coords,loc3.vertices[loc2].alternativa3d::_coords); + loc14.difference(p1.copyFromVertex(vertices[(loc2 + 1) % 3]),p2.copyFromVertex(vertices[loc2])); loc15 = loc7[loc2] = loc14.length; if(loc15 > loc4) { @@ -47,7 +52,7 @@ package alternativa.editor.mapexport loc11.invert(); this.width = loc7[loc8]; this.length = loc7[loc9]; - var loc12:Point3D = loc3.vertices[(loc5 + 2) % 3].alternativa3d::_coords.clone(); + var loc12:Point3D = new Point3D().copyFromVertex(vertices[(loc5 + 2) % 3]); loc12.x += 0.5 * (loc10.x + loc11.x); loc12.y += 0.5 * (loc10.y + loc11.y); loc12.z += 0.5 * (loc10.z + loc11.z); @@ -55,8 +60,8 @@ package alternativa.editor.mapexport loc11.normalize(); var loc13:Point3D = Point3D.cross(loc10,loc11); transform.setVectors(loc10,loc11,loc13,loc12); - transform.rotate(param1.alternativa3d::_rotationX,param1.alternativa3d::_rotationY,param1.alternativa3d::_rotationZ); - transform.translate(param1.alternativa3d::_coords.x,param1.alternativa3d::_coords.y,param1.alternativa3d::_coords.z); + transform.rotate(param1.rotationX,param1.rotationY,param1.rotationZ); + transform.translate(param1.x,param1.y,param1.z); } override public function getXml(param1:Matrix4) : XML diff --git a/src/alternativa/editor/mapexport/CollisionTriangle.as b/src/alternativa/editor/mapexport/CollisionTriangle.as index 8ee3e09..ad2932d 100644 --- a/src/alternativa/editor/mapexport/CollisionTriangle.as +++ b/src/alternativa/editor/mapexport/CollisionTriangle.as @@ -26,9 +26,9 @@ package alternativa.editor.mapexport override public function parse(param1:Mesh) : void { var loc2:Vector. = param1.faceList.vertices; - this.v0.copy((loc2[0]).alternativa3d::_coords); - this.v1.copy((loc2[1]).alternativa3d::_coords); - this.v2.copy((loc2[2]).alternativa3d::_coords); + this.v0.copyFromVertex((loc2[0])); + this.v1.copyFromVertex((loc2[1])); + this.v2.copyFromVertex((loc2[2])); var loc3:Point3D = new Point3D(); loc3.x = (this.v0.x + this.v1.x + this.v2.x) / 3; loc3.y = (this.v0.y + this.v1.y + this.v2.y) / 3; @@ -48,8 +48,8 @@ package alternativa.editor.mapexport loc5.cross2(loc8,loc4); loc5.normalize(); transform.setVectors(loc4,loc5,loc8,loc3); - transform.rotate(param1.alternativa3d::_rotationX,param1.alternativa3d::_rotationY,param1.alternativa3d::_rotationZ); - transform.translate(param1.alternativa3d::_coords.x,param1.alternativa3d::_coords.y,param1.alternativa3d::_coords.z); + transform.rotate(param1.rotationX,param1.rotationY,param1.rotationZ); + transform.translate(param1.x,param1.y,param1.z); loc6 = (this.v1.x + this.v2.x) / 3; loc7 = (this.v1.y + this.v2.y) / 3; this.v0.reset(-loc6,-loc7,0);