UNPKG

@awayjs/scene

Version:
69 lines (68 loc) 2.87 kB
import { __extends } from "tslib"; import { Vector3D } from '@awayjs/core'; import { ControllerBase } from '../controllers/ControllerBase'; var LookAtController = /** @class */ (function (_super) { __extends(LookAtController, _super); // private _onLookAtObjectChangedDelegate: (event: DisplayObjectEvent) => void; function LookAtController(targetObject, lookAtObject) { if (targetObject === void 0) { targetObject = null; } if (lookAtObject === void 0) { lookAtObject = null; } var _this = _super.call(this, targetObject) || this; _this._pOrigin = new Vector3D(0.0, 0.0, 0.0); // this._onLookAtObjectChangedDelegate = (event: DisplayObjectEvent) => this.onLookAtObjectChanged(event); if (lookAtObject) _this.lookAtObject = lookAtObject; else _this.lookAtPosition = new Vector3D(); return _this; } Object.defineProperty(LookAtController.prototype, "lookAtPosition", { get: function () { return this._pLookAtPosition; }, set: function (val) { if (this._pLookAtObject) { // this._pLookAtObject.removeEventListener(DisplayObjectEvent.SCENETRANSFORM_CHANGED, // this._onLookAtObjectChangedDelegate); this._pLookAtObject = null; } this._pLookAtPosition = val; this.pNotifyUpdate(); }, enumerable: false, configurable: true }); Object.defineProperty(LookAtController.prototype, "lookAtObject", { get: function () { return this._pLookAtObject; }, set: function (val) { if (this._pLookAtPosition) this._pLookAtPosition = null; if (this._pLookAtObject == val) return; // if (this._pLookAtObject) // this._pLookAtObject.removeEventListener(DisplayObjectEvent.SCENETRANSFORM_CHANGED, // this._onLookAtObjectChangedDelegate); this._pLookAtObject = val; // if (this._pLookAtObject) // this._pLookAtObject.addEventListener(DisplayObjectEvent.SCENETRANSFORM_CHANGED, // this._onLookAtObjectChangedDelegate); this.pNotifyUpdate(); }, enumerable: false, configurable: true }); //@override LookAtController.prototype.update = function (interpolate) { if (interpolate === void 0) { interpolate = true; } if (this._pTargetObject) { if (this._pLookAtPosition) this._pTargetObject.lookAt(this._pLookAtPosition); else if (this._pLookAtObject) this._pTargetObject.lookAt(this._pLookAtObject.transform.matrix3D.position); } }; return LookAtController; }(ControllerBase)); export { LookAtController };