SoundManager.js 9.12 KB

                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/scripts/component/SoundManager.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, '20cf0PLUtNPu4KQ0/SZIn5G', 'SoundManager');
// scripts/component/SoundManager.ts

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SoundManager = void 0;
var Global_1 = require("../Global");
var SaveDataManager_1 = require("./SaveDataManager");
var SoundManager = /** @class */ (function () {
    function SoundManager() {
        this._cdMap = new Map();
    }
    Object.defineProperty(SoundManager, "ins", {
        get: function () {
            if (this._ins == null) {
                this._ins = new SoundManager();
            }
            return this._ins;
        },
        enumerable: false,
        configurable: true
    });
    SoundManager.prototype.update = function (dt) {
        this._cdMap.forEach(function (value, key, map) {
            if (value > 0) {
                value -= dt;
            }
            if (value < 0) {
                value = 0;
            }
            map.set(key, value);
        }, this);
    };
    SoundManager.prototype.playEffect = function (clipName) {
        if (!SaveDataManager_1.SaveDataManager.ins.runtimeData.SEMute) {
            if (clipName == Global_1.SoundName.HIT || clipName == Global_1.SoundName.BREAK) {
                //检查cd 
                if (this._cdMap.has(clipName) && this._cdMap.get(clipName) > 0) {
                    return;
                }
                else {
                    var cd = (clipName == Global_1.SoundName.HIT ? 0.1 : 0.6);
                    this._cdMap.set(clipName, cd);
                }
            }
            var clip = cc.resources.get('soundEffect/' + clipName, cc.AudioClip);
            if (clip) {
                cc.audioEngine.playEffect(clip, false);
            }
            else {
                cc.warn('can not find audio clip:', clipName);
            }
        }
    };
    SoundManager.prototype.playMusic = function () {
        if (!SaveDataManager_1.SaveDataManager.ins.runtimeData.musicMute) {
            var clip = cc.resources.get('soundEffect/' + Global_1.SoundName.BGM, cc.AudioClip);
            if (clip && !cc.audioEngine.isMusicPlaying()) {
                cc.audioEngine.playMusic(clip, true);
            }
            // else {
            //     cc.warn('can not find audio clip: BGM');
            // }
        }
    };
    SoundManager.prototype.stopMusic = function () {
        if (cc.audioEngine.isMusicPlaying()) {
            cc.audioEngine.stopMusic();
        }
    };
    SoundManager._ins = null;
    return SoundManager;
}());
exports.SoundManager = SoundManager;

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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcc2NyaXB0c1xcY29tcG9uZW50XFxTb3VuZE1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0NBQXNDO0FBQ3RDLHFEQUFvRDtBQUVwRDtJQUFBO1FBRVksV0FBTSxHQUF3QixJQUFJLEdBQUcsRUFBa0IsQ0FBQztJQXlFcEUsQ0FBQztJQXRFRyxzQkFBVyxtQkFBRzthQUFkO1lBQ0ksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRTtnQkFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO2FBQ2xDO1lBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3JCLENBQUM7OztPQUFBO0lBRUQsNkJBQU0sR0FBTixVQUFPLEVBQVU7UUFFYixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRztZQUVoQyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7Z0JBQ1gsS0FBSyxJQUFJLEVBQUUsQ0FBQzthQUNmO1lBRUQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO2dCQUNYLEtBQUssR0FBRyxDQUFDLENBQUM7YUFDYjtZQUVELEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxpQ0FBVSxHQUFWLFVBQVcsUUFBZ0I7UUFFdkIsSUFBSSxDQUFDLGlDQUFlLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFHekMsSUFBSSxRQUFRLElBQUksa0JBQVMsQ0FBQyxHQUFHLElBQUksUUFBUSxJQUFJLGtCQUFTLENBQUMsS0FBSyxFQUFFO2dCQUMxRCxPQUFPO2dCQUNQLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUM1RCxPQUFPO2lCQUNWO3FCQUNJO29CQUVELElBQUksRUFBRSxHQUFHLENBQUMsUUFBUSxJQUFJLGtCQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7aUJBQ2pDO2FBQ0o7WUFFRCxJQUFJLElBQUksR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEdBQUcsUUFBUSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQWlCLENBQUM7WUFDckYsSUFBSSxJQUFJLEVBQUU7Z0JBQ04sRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQzFDO2lCQUNJO2dCQUNELEVBQUUsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDakQ7U0FDSjtJQUNMLENBQUM7SUFFRCxnQ0FBUyxHQUFUO1FBRUksSUFBSSxDQUFDLGlDQUFlLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUU7WUFDNUMsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLGtCQUFTLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQWlCLENBQUM7WUFDMUYsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxFQUFFO2dCQUMxQyxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDeEM7WUFDRCxTQUFTO1lBQ1QsK0NBQStDO1lBQy9DLElBQUk7U0FDUDtJQUNMLENBQUM7SUFFRCxnQ0FBUyxHQUFUO1FBQ0ksSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQ2pDLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDOUI7SUFDTCxDQUFDO0lBdEVjLGlCQUFJLEdBQWlCLElBQUksQ0FBQztJQXVFN0MsbUJBQUM7Q0EzRUQsQUEyRUMsSUFBQTtBQTNFWSxvQ0FBWSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvdW5kTmFtZSB9IGZyb20gXCIuLi9HbG9iYWxcIjtcbmltcG9ydCB7IFNhdmVEYXRhTWFuYWdlciB9IGZyb20gXCIuL1NhdmVEYXRhTWFuYWdlclwiO1xuXG5leHBvcnQgY2xhc3MgU291bmRNYW5hZ2VyIHtcblxuICAgIHByaXZhdGUgX2NkTWFwOiBNYXA8c3RyaW5nLCBudW1iZXI+ID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcblxuICAgIHByaXZhdGUgc3RhdGljIF9pbnM6IFNvdW5kTWFuYWdlciA9IG51bGw7XG4gICAgc3RhdGljIGdldCBpbnMoKTogU291bmRNYW5hZ2VyIHtcbiAgICAgICAgaWYgKHRoaXMuX2lucyA9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9pbnMgPSBuZXcgU291bmRNYW5hZ2VyKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5faW5zO1xuICAgIH1cblxuICAgIHVwZGF0ZShkdDogbnVtYmVyKSB7XG5cbiAgICAgICAgdGhpcy5fY2RNYXAuZm9yRWFjaCgodmFsdWUsIGtleSwgbWFwKSA9PiB7XG5cbiAgICAgICAgICAgIGlmICh2YWx1ZSA+IDApIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSAtPSBkdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFwLnNldChrZXksIHZhbHVlKTtcblxuICAgICAgICB9LCB0aGlzKTtcbiAgICB9XG5cbiAgICBwbGF5RWZmZWN0KGNsaXBOYW1lOiBzdHJpbmcpIHtcblxuICAgICAgICBpZiAoIVNhdmVEYXRhTWFuYWdlci5pbnMucnVudGltZURhdGEuU0VNdXRlKSB7XG5cblxuICAgICAgICAgICAgaWYgKGNsaXBOYW1lID09IFNvdW5kTmFtZS5ISVQgfHwgY2xpcE5hbWUgPT0gU291bmROYW1lLkJSRUFLKSB7XG4gICAgICAgICAgICAgICAgLy/mo4Dmn6VjZCBcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fY2RNYXAuaGFzKGNsaXBOYW1lKSAmJiB0aGlzLl9jZE1hcC5nZXQoY2xpcE5hbWUpID4gMCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgICAgIGxldCBjZCA9IChjbGlwTmFtZSA9PSBTb3VuZE5hbWUuSElUID8gMC4xIDogMC42KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2RNYXAuc2V0KGNsaXBOYW1lLCBjZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgY2xpcCA9IGNjLnJlc291cmNlcy5nZXQoJ3NvdW5kRWZmZWN0LycgKyBjbGlwTmFtZSwgY2MuQXVkaW9DbGlwKSBhcyBjYy5BdWRpb0NsaXA7XG4gICAgICAgICAgICBpZiAoY2xpcCkge1xuICAgICAgICAgICAgICAgIGNjLmF1ZGlvRW5naW5lLnBsYXlFZmZlY3QoY2xpcCwgZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY2Mud2FybignY2FuIG5vdCBmaW5kIGF1ZGlvIGNsaXA6JywgY2xpcE5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcGxheU11c2ljKCkge1xuXG4gICAgICAgIGlmICghU2F2ZURhdGFNYW5hZ2VyLmlucy5ydW50aW1lRGF0YS5tdXNpY011dGUpIHtcbiAgICAgICAgICAgIGxldCBjbGlwID0gY2MucmVzb3VyY2VzLmdldCgnc291bmRFZmZlY3QvJyArIFNvdW5kTmFtZS5CR00sIGNjLkF1ZGlvQ2xpcCkgYXMgY2MuQXVkaW9DbGlwO1xuICAgICAgICAgICAgaWYgKGNsaXAgJiYgIWNjLmF1ZGlvRW5naW5lLmlzTXVzaWNQbGF5aW5nKCkpIHtcbiAgICAgICAgICAgICAgICBjYy5hdWRpb0VuZ2luZS5wbGF5TXVzaWMoY2xpcCwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBlbHNlIHtcbiAgICAgICAgICAgIC8vICAgICBjYy53YXJuKCdjYW4gbm90IGZpbmQgYXVkaW8gY2xpcDogQkdNJyk7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdG9wTXVzaWMoKSB7XG4gICAgICAgIGlmIChjYy5hdWRpb0VuZ2luZS5pc011c2ljUGxheWluZygpKSB7XG4gICAgICAgICAgICBjYy5hdWRpb0VuZ2luZS5zdG9wTXVzaWMoKTtcbiAgICAgICAgfVxuICAgIH1cbn0iXX0=