var __extends = this.__extends || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } __.prototype = b.prototype; d.prototype = new __(); }; var Phaser; (function (Phaser) { (function (Plugins) { /// /// /** * Phaser - Plugins - Camera FX - Fade * * The camera is filled with the given color and returns to normal at the given duration. */ (function (CameraFX) { var Fade = (function (_super) { __extends(Fade, _super); function Fade(game, parent) { _super.call(this, game, parent); this._fxFadeComplete = null; this._fxFadeDuration = 0; this._fxFadeAlpha = 0; this.camera = parent; } /** * The camera is gradually filled with this color. * * @param Color The color you want to use in 0xRRGGBB format, i.e. 0xffffff for white. * @param Duration How long it takes for the flash to fade. * @param OnComplete An optional function you want to run when the flash finishes. Set to null for no callback. * @param Force Force an already running flash effect to reset. */ Fade.prototype.start = function (color, duration, onComplete, force) { if (typeof color === "undefined") { color = 0x000000; } if (typeof duration === "undefined") { duration = 1; } if (typeof onComplete === "undefined") { onComplete = null; } if (typeof force === "undefined") { force = false; } if (force === false && this._fxFadeAlpha > 0) { // You can't fade again unless you force it return; } if (duration <= 0) { duration = 1; } var red = color >> 16 & 0xFF; var green = color >> 8 & 0xFF; var blue = color & 0xFF; this._fxFadeColor = 'rgba(' + red + ',' + green + ',' + blue + ','; this._fxFadeDuration = duration; this._fxFadeAlpha = 0.01; this._fxFadeComplete = onComplete; }; Fade.prototype.postUpdate = function () { if (this._fxFadeAlpha > 0) { this._fxFadeAlpha += this.game.time.elapsed / this._fxFadeDuration; if (this.game.math.roundTo(this._fxFadeAlpha, -2) >= 1) { this._fxFadeAlpha = 1; if (this._fxFadeComplete !== null) { this._fxFadeComplete(); } } } }; Fade.prototype.postRender = function () { if (this._fxFadeAlpha > 0) { this.game.stage.context.fillStyle = this._fxFadeColor + this._fxFadeAlpha + ')'; this.game.stage.context.fillRect(this.camera.screenView.x, this.camera.screenView.y, this.camera.width, this.camera.height); } }; return Fade; })(Phaser.Plugin); CameraFX.Fade = Fade; })(Plugins.CameraFX || (Plugins.CameraFX = {})); var CameraFX = Plugins.CameraFX; })(Phaser.Plugins || (Phaser.Plugins = {})); var Plugins = Phaser.Plugins; })(Phaser || (Phaser = {}));