mirror of
https://github.com/MapMakersAndProgrammers/alternativa-editor-mod.git
synced 2025-10-26 01:49:05 -07:00
117 lines
4.6 KiB
ActionScript
117 lines
4.6 KiB
ActionScript
package alternativa.engine3d.core
|
|
{
|
|
import flash.events.Event;
|
|
import flash.geom.Vector3D;
|
|
import alternativa.engine3d.alternativa3d;
|
|
|
|
use namespace alternativa3d;
|
|
|
|
public class MouseEvent3D extends Event
|
|
{
|
|
|
|
public static const CLICK:String = "click3D";
|
|
public static const DOUBLE_CLICK:String = "doubleClick3D";
|
|
public static const MOUSE_DOWN:String = "mouseDown3D";
|
|
public static const MOUSE_UP:String = "mouseUp3D";
|
|
public static const MOUSE_OVER:String = "mouseOver3D";
|
|
public static const MOUSE_OUT:String = "mouseOut3D";
|
|
public static const ROLL_OVER:String = "rollOver3D";
|
|
public static const ROLL_OUT:String = "rollOut3D";
|
|
public static const MOUSE_MOVE:String = "mouseMove3D";
|
|
public static const MOUSE_WHEEL:String = "mouseWheel3D";
|
|
|
|
public var ctrlKey:Boolean;
|
|
public var altKey:Boolean;
|
|
public var shiftKey:Boolean;
|
|
public var buttonDown:Boolean;
|
|
public var delta:int;
|
|
public var relatedObject:Object3D;
|
|
public var localOrigin:Vector3D = new Vector3D();
|
|
public var localDirection:Vector3D = new Vector3D();
|
|
public var _target:Object3D;
|
|
alternativa3d var _currentTarget:Object3D;
|
|
alternativa3d var _bubbles:Boolean;
|
|
alternativa3d var _eventPhase:uint = 3;
|
|
alternativa3d var stop:Boolean = false;
|
|
alternativa3d var stopImmediate:Boolean = false;
|
|
|
|
public function MouseEvent3D(_arg_1:String, _arg_2:Boolean=true, _arg_3:Object3D=null, _arg_4:Boolean=false, _arg_5:Boolean=false, _arg_6:Boolean=false, _arg_7:Boolean=false, _arg_8:int=0)
|
|
{
|
|
super(_arg_1, _arg_2);
|
|
this.relatedObject = _arg_3;
|
|
this.altKey = _arg_4;
|
|
this.ctrlKey = _arg_5;
|
|
this.shiftKey = _arg_6;
|
|
this.buttonDown = _arg_7;
|
|
this.delta = _arg_8;
|
|
}
|
|
|
|
alternativa3d function calculateLocalRay(_arg_1:Number, _arg_2:Number, _arg_3:Object3D, _arg_4:Camera3D):void
|
|
{
|
|
_arg_4.calculateRay(this.localOrigin, this.localDirection, _arg_1, _arg_2);
|
|
_arg_3.composeMatrix();
|
|
var _local_5:Object3D = _arg_3;
|
|
while (_local_5._parent != null)
|
|
{
|
|
_local_5 = _local_5._parent;
|
|
_local_5.composeMatrix();
|
|
_arg_3.appendMatrix(_local_5);
|
|
};
|
|
_arg_3.invertMatrix();
|
|
var _local_6:Number = this.localOrigin.x;
|
|
var _local_7:Number = this.localOrigin.y;
|
|
var _local_8:Number = this.localOrigin.z;
|
|
var _local_9:Number = this.localDirection.x;
|
|
var _local_10:Number = this.localDirection.y;
|
|
var _local_11:Number = this.localDirection.z;
|
|
this.localOrigin.x = ((((_arg_3.ma * _local_6) + (_arg_3.mb * _local_7)) + (_arg_3.mc * _local_8)) + _arg_3.md);
|
|
this.localOrigin.y = ((((_arg_3.me * _local_6) + (_arg_3.mf * _local_7)) + (_arg_3.mg * _local_8)) + _arg_3.mh);
|
|
this.localOrigin.z = ((((_arg_3.mi * _local_6) + (_arg_3.mj * _local_7)) + (_arg_3.mk * _local_8)) + _arg_3.ml);
|
|
this.localDirection.x = (((_arg_3.ma * _local_9) + (_arg_3.mb * _local_10)) + (_arg_3.mc * _local_11));
|
|
this.localDirection.y = (((_arg_3.me * _local_9) + (_arg_3.mf * _local_10)) + (_arg_3.mg * _local_11));
|
|
this.localDirection.z = (((_arg_3.mi * _local_9) + (_arg_3.mj * _local_10)) + (_arg_3.mk * _local_11));
|
|
}
|
|
|
|
override public function get bubbles():Boolean
|
|
{
|
|
return (this._bubbles);
|
|
}
|
|
|
|
override public function get eventPhase():uint
|
|
{
|
|
return (this._eventPhase);
|
|
}
|
|
|
|
override public function get target():Object
|
|
{
|
|
return (this._target);
|
|
}
|
|
|
|
override public function get currentTarget():Object
|
|
{
|
|
return (this._currentTarget);
|
|
}
|
|
|
|
override public function stopPropagation():void
|
|
{
|
|
this.stop = true;
|
|
}
|
|
|
|
override public function stopImmediatePropagation():void
|
|
{
|
|
this.stopImmediate = true;
|
|
}
|
|
|
|
override public function clone():Event
|
|
{
|
|
return (new MouseEvent3D(type, this._bubbles, this.relatedObject, this.altKey, this.ctrlKey, this.shiftKey, this.buttonDown, this.delta));
|
|
}
|
|
|
|
override public function toString():String
|
|
{
|
|
return (formatToString("MouseEvent3D", "type", "bubbles", "eventPhase", "relatedObject", "altKey", "ctrlKey", "shiftKey", "buttonDown", "delta"));
|
|
}
|
|
|
|
|
|
}
|
|
}//package alternativa.engine3d.core |