UIBase.js 9.02 KB

                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/scripts/ui/UIBase.js';
                    var __require = nodeEnv ? function (request) {
                        return cc.require(request);
                    } : function (request) {
                        return __quick_compile_project__.require(request, __filename);
                    };
                    function __define (exports, require, module) {
                        if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
cc._RF.push(module, 'cabe1ZqE09GO4I3s9s2zksG', 'UIBase');
// scripts/ui/UIBase.ts

"use strict";
var __extends = (this && this.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.UIBase = void 0;
var UIBase = /** @class */ (function (_super) {
    __extends(UIBase, _super);
    function UIBase() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this.enableParam = null;
        _this._tweenobj = { progress: 0 };
        _this._usePopUpEffect = true;
        _this._useCloseEffect = true;
        _this._closing = false;
        return _this;
        // private onCloseEffectUpdate(target: { progress: number }, ratio: number) {
        //     // target.setScale(ratio, ratio, 1);
        //     this.node.setScale(target.progress, target.progress);
        //     // log(target.progress, ratio);
        // }
    }
    Object.defineProperty(UIBase.prototype, "closing", {
        /**正在关闭特效中 */
        get: function () { return this._closing; },
        enumerable: false,
        configurable: true
    });
    /**弹出特效,子类可复写 */
    UIBase.prototype.onPopUpEffect = function () {
        if (this._usePopUpEffect) {
            this.node.setScale(0.1, 0.1, 1);
            this._tweenobj.progress = 0;
            cc.tween(this._tweenobj).to(0.2, { progress: 1 }, { onUpdate: this.onEffectUpdate.bind(this), easing: 'backOut' }).call(this.onPopUpEffectFinish.bind(this)).start();
        }
    };
    UIBase.prototype.onEffectUpdate = function (target, ratio) {
        this.node.setScale(target.progress, target.progress);
    };
    UIBase.prototype.onPopUpEffectFinish = function () {
    };
    UIBase.prototype.onBeforeClose = function () {
        cc.Tween.stopAllByTarget(this._tweenobj);
    };
    UIBase.prototype.onCloseEffect = function (callBack, callBackThisObj) {
        var _this = this;
        if (this._useCloseEffect) {
            this._closing = true;
            this._tweenobj.progress = 1;
            cc.tween(this._tweenobj).to(0.2, { progress: 0 }, { onUpdate: this.onEffectUpdate.bind(this), easing: 'backIn' }).call(function () {
                _this._closing = false;
                callBack.call(callBackThisObj);
            }).start();
        }
        else {
            callBack.call(callBackThisObj);
        }
    };
    return UIBase;
}(cc.Component));
exports.UIBase = UIBase;

cc._RF.pop();
                    }
                    if (nodeEnv) {
                        __define(__module.exports, __require, __module);
                    }
                    else {
                        __quick_compile_project__.registerModuleFunc(__filename, function () {
                            __define(__module.exports, __require, __module);
                        });
                    }
                })();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcc2NyaXB0c1xcdWlcXFVJQmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0E7SUFBNEIsMEJBQVk7SUFBeEM7UUFBQSxxRUF5REM7UUF4REcsaUJBQVcsR0FBUSxJQUFJLENBQUM7UUFFaEIsZUFBUyxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzFCLHFCQUFlLEdBQVksSUFBSSxDQUFDO1FBQ2hDLHFCQUFlLEdBQVksSUFBSSxDQUFDO1FBRWhDLGNBQVEsR0FBWSxLQUFLLENBQUM7O1FBNkNwQyw2RUFBNkU7UUFDN0UsMkNBQTJDO1FBQzNDLDREQUE0RDtRQUM1RCxzQ0FBc0M7UUFDdEMsSUFBSTtJQUNSLENBQUM7SUFoREcsc0JBQUksMkJBQU87UUFEWCxhQUFhO2FBQ2IsY0FBeUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQzs7O09BQUE7SUFFaEQsZ0JBQWdCO0lBQ2hCLDhCQUFhLEdBQWI7UUFFSSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUVoQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7WUFDNUIsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3hLO0lBRUwsQ0FBQztJQUVPLCtCQUFjLEdBQXRCLFVBQXVCLE1BQTRCLEVBQUUsS0FBYTtRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRVMsb0NBQW1CLEdBQTdCO0lBRUEsQ0FBQztJQUVELDhCQUFhLEdBQWI7UUFDSSxFQUFFLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELDhCQUFhLEdBQWIsVUFBYyxRQUFrQixFQUFFLGVBQW9CO1FBQXRELGlCQWVDO1FBZEcsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBRXRCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztZQUU1QixFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDbkgsS0FBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7U0FFZDthQUNJO1lBQ0QsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtTQUNqQztJQUNMLENBQUM7SUFPTCxhQUFDO0FBQUQsQ0F6REEsQUF5REMsQ0F6RDJCLEVBQUUsQ0FBQyxTQUFTLEdBeUR2QztBQXpEWSx3QkFBTSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5leHBvcnQgY2xhc3MgVUlCYXNlIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIGVuYWJsZVBhcmFtOiBhbnkgPSBudWxsO1xyXG5cclxuICAgIHByaXZhdGUgX3R3ZWVub2JqID0geyBwcm9ncmVzczogMCB9O1xyXG4gICAgcHJvdGVjdGVkIF91c2VQb3BVcEVmZmVjdDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBwcm90ZWN0ZWQgX3VzZUNsb3NlRWZmZWN0OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgX2Nsb3Npbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIC8qKuato+WcqOWFs+mXreeJueaViOS4rSAqL1xyXG4gICAgZ2V0IGNsb3NpbmcoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9jbG9zaW5nOyB9XHJcblxyXG4gICAgLyoq5by55Ye654m55pWI77yM5a2Q57G75Y+v5aSN5YaZICovXHJcbiAgICBvblBvcFVwRWZmZWN0KCkge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fdXNlUG9wVXBFZmZlY3QpIHtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLnNldFNjYWxlKDAuMSwgMC4xLCAxKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX3R3ZWVub2JqLnByb2dyZXNzID0gMDtcclxuICAgICAgICAgICAgY2MudHdlZW4odGhpcy5fdHdlZW5vYmopLnRvKDAuMiwgeyBwcm9ncmVzczogMSB9LCB7IG9uVXBkYXRlOiB0aGlzLm9uRWZmZWN0VXBkYXRlLmJpbmQodGhpcyksIGVhc2luZzogJ2JhY2tPdXQnIH0pLmNhbGwodGhpcy5vblBvcFVwRWZmZWN0RmluaXNoLmJpbmQodGhpcykpLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG9uRWZmZWN0VXBkYXRlKHRhcmdldDogeyBwcm9ncmVzczogbnVtYmVyIH0sIHJhdGlvOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLm5vZGUuc2V0U2NhbGUodGFyZ2V0LnByb2dyZXNzLCB0YXJnZXQucHJvZ3Jlc3MpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBvblBvcFVwRWZmZWN0RmluaXNoKCkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBvbkJlZm9yZUNsb3NlKCkge1xyXG4gICAgICAgIGNjLlR3ZWVuLnN0b3BBbGxCeVRhcmdldCh0aGlzLl90d2Vlbm9iaik7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbG9zZUVmZmVjdChjYWxsQmFjazogRnVuY3Rpb24sIGNhbGxCYWNrVGhpc09iajogYW55KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3VzZUNsb3NlRWZmZWN0KSB7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9jbG9zaW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5fdHdlZW5vYmoucHJvZ3Jlc3MgPSAxO1xyXG5cclxuICAgICAgICAgICAgY2MudHdlZW4odGhpcy5fdHdlZW5vYmopLnRvKDAuMiwgeyBwcm9ncmVzczogMCB9LCB7IG9uVXBkYXRlOiB0aGlzLm9uRWZmZWN0VXBkYXRlLmJpbmQodGhpcyksIGVhc2luZzogJ2JhY2tJbicgfSkuY2FsbCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jbG9zaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBjYWxsQmFjay5jYWxsKGNhbGxCYWNrVGhpc09iaik7XHJcbiAgICAgICAgICAgIH0pLnN0YXJ0KCk7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgY2FsbEJhY2suY2FsbChjYWxsQmFja1RoaXNPYmopXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHByaXZhdGUgb25DbG9zZUVmZmVjdFVwZGF0ZSh0YXJnZXQ6IHsgcHJvZ3Jlc3M6IG51bWJlciB9LCByYXRpbzogbnVtYmVyKSB7XHJcbiAgICAvLyAgICAgLy8gdGFyZ2V0LnNldFNjYWxlKHJhdGlvLCByYXRpbywgMSk7XHJcbiAgICAvLyAgICAgdGhpcy5ub2RlLnNldFNjYWxlKHRhcmdldC5wcm9ncmVzcywgdGFyZ2V0LnByb2dyZXNzKTtcclxuICAgIC8vICAgICAvLyBsb2codGFyZ2V0LnByb2dyZXNzLCByYXRpbyk7XHJcbiAgICAvLyB9XHJcbn0iXX0=