UltimateShooter/assets/Scripts/SwitchScreens.ts
2025-11-06 16:02:53 +04:00

73 lines
2.3 KiB
TypeScript

// Learn TypeScript:
// - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/typescript.html
// - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/typescript.html
// Learn Attribute:
// - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
// - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
// - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
// - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/life-cycle-callbacks.html
import GameData from "./GameData";
import SoundManager from "./SoundsManager";
const {ccclass, property} = cc._decorator;
@ccclass
export default class MenuScreen extends cc.Component {
onLoad() {
const scene = cc.director.getScene().name;
if(scene === 'Menu') {
this.scheduleOnce(() => {
SoundManager.instance.playMusic('Judgement', true);
}, 0.1);
}
}
loadLevelsScene() {
SoundManager.instance.playEffect('click');
cc.director.preloadScene('Level', () => {
cc.director.loadScene('Level');
});
}
loadGameScene(event, customData) {
SoundManager.instance.playEffect('click');
const selectedLevel = Number(customData);
GameData.instance.selectedLevel = selectedLevel;
SoundManager.instance.stopMusic();
cc.director.preloadScene('Game', () => {
cc.director.loadScene('Game');
});
}
closeGame() {
GameData.instance.setScore(0);
SoundManager.instance.playEffect('click');
SoundManager.instance.stopMusic();
cc.director.loadScene('Menu');
}
killGame() {
GameData.instance.setScore(0);
SoundManager.instance.playEffect('click');
this.scheduleOnce(() => {
SoundManager.instance.stopMusic();
cc.game.end();
}, 0.25);
}
backToMenu() {
SoundManager.instance.playEffect('click');
cc.director.loadScene('Menu');
}
showSettings() {
SoundManager.instance.playEffect('click');
cc.director.preloadScene('Settings', () => {
cc.director.loadScene('Settings');
});
}
}