SoundManager.js
9.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
(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=