消消方块阵换皮表情
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

321 lines
8.9 KiB

1 week ago
//*********************
// create by 流云
// time: Thu Mar 06 2025
// desc:
//*********************
import { _decorator, Component, Node, find, sys, game } from 'cc';
import { Auto_PanelSettings } from './Auto_PanelSettings';
import { StatusType } from '../../game/GameData';
import { GEvent } from 'db://assets/mx/module/event/GEvent';
import { GM } from '../../game/GM';
import { UIID } from '../../game/ConfigRes';
import { sdkConfig } from '../../sdk/sdkConfig';
import type { LangCode } from 'db://assets/mx/module/lang/Lang';
import { Lang } from 'db://assets/mx/module/lang/Lang';
const { ccclass, property } = _decorator;
@ccclass('UIPanelSettings')
export class UIPanelSettings extends Auto_PanelSettings {
clickTime:number = 0;
btnArray: Node[] = [];
btnKeyArray: string[] = [];
onLoad(): void {
super.onLoad();
}
onEnable(): void {
super.onEnable();
}
onDisable(): void {
super.onDisable();
}
onInit(): void {
this.ui_boxLang.active = sdkConfig.config.noChangeLang;
if(sdkConfig.config.noChangeLang){
this.btnKeyArray = [
"cn",
"cn",
"en",
"cn",
"cn",
"cn",
"cn",
"cn",
"cn",
"cn",
]
this.btnArray = [
this.btn_jtzw,
this.btn_fanti,
this.btn_english,
this.btn_hanyu,
this.btn_riben,
this.btn_xibanya,
this.btn_fayu,
this.btn_deyu,
this.btn_eluosi,
this.btn_putaoya,
]
//sdkConfig.defaultLang
this.refreshChangeBtn(false)
}
this.showOpenMaskEff(2);
this.updateBtnStatus();
this.showOpenCenterEff();
if(gg.role.roleId == 1){
this.btn_choseMan.getChildByName('choose').active = true
this.btn_choseWoman.getChildByName('choose').active = false
}else{
this.btn_choseMan.getChildByName('choose').active = false
this.btn_choseWoman.getChildByName('choose').active = true
}
this.btnGM.active = sys.isBrowser;
}
refreshChangeBtn(ischange:boolean = true){
let defaultLang = sdkConfig.defaultLang;
this.btnArray.forEach((btnNode) => {
btnNode.getChildByName('choose').active = false
})
let findKey = 0
for(let i = 0; i < this.btnKeyArray.length; i++){
if(this.btnKeyArray[i] == defaultLang){
findKey = i;
break;
}
}
this.btnArray[findKey].getChildByName('choose').active = true
if(ischange){
gg.lang.Current = defaultLang as LangCode;
}
}
_vibrateOpen = false;
click_btnMusic() {
gg.audio.playEffect({ name: "点击音效"});
gg.audio.MuteMusic = !gg.audio.MuteMusic;
gg.data.setStatus(StatusType.MuteMusic, gg.audio.MuteMusic ? 1 : 0);
this.updateBtnStatus();
if (!gg.audio.MuteMusic)
gg.audio.playMusic({ name: "主页背景音" ,path:"bgm/"});
else
gg.audio.stopMusic();
}
click_btnEffect() {
gg.audio.playEffect({ name: "点击音效"});
gg.audio.MuteEffect = !gg.audio.MuteEffect;
gg.data.setStatus(StatusType.MuteEffect, gg.audio.MuteEffect ? 1 : 0);
this.updateBtnStatus();
}
click_btnVibrate() {
gg.audio.playEffect({ name: "点击音效"});
this._vibrateOpen = !this._vibrateOpen;
gg.sdk.Vibrate.IsEnable = !this._vibrateOpen;
this.updateBtnStatus();
}
click_btnSave() {
gg.audio.playEffect({ name: "点击音效"});
gg.data.saveLocal();
gg.data.saveToServer((res) => {
if (res) {
gg.ui.showToast("已保存");
} else {
gg.ui.showToast("保存失败");
}
});
}
click_btnClose() {
gg.audio.playEffect({ name: "点击音效"});
this.close(2);
}
updateBtn(btn, status) {
btn.getChildByName("open").active = !status;
btn.getChildByName("close").active = status;
}
click_btnGM() {
gg.audio.playEffect({ name: "点击音效"});
GM.show();
this.close(2);
}
click_btnRestart() {
gg.audio.playEffect({ name: "点击音效"});
gg.ui.openPanel(UIID.MsgBox, {
data: {
content: "重置将丢失当前游戏进度,重新开始游戏,确定重置吗?",
yesFun: () => {
this.close(2);
//gg.ui.closeAllPanel();
//GEvent.Ins.emit(GEvent.GameRestart);
gg.game.reset('设置重置');
}
}
})
}
updateBtnStatus() {
this.updateBtn(this.btnMusic, gg.audio.MuteMusic);
this.updateBtn(this.btnEffect, gg.audio.MuteEffect);
this.updateBtn(this.btnVibrate, this._vibrateOpen);
}
click_btn1(): void {
// gg.audio.playEffect({ name: "点击音效"});
// this.time = game.totalTime;
// this.step = 1;
}
click_btn2(): void {
// gg.audio.playEffect({ name: "点击音效"});
// if (this.step == 1)
// this.step = 2;
}
click_btn3(): void {
// gg.audio.playEffect({ name: "点击音效"});
// let t = game.totalTime - this.time;
// if (this.step == 2 && t < 1500) {
// GM.show();
// this.close(2);
// }
}
time = 0;
step = 0;
click_btnResetArea() {
this.clickTime++
if(this.clickTime >= 10){
this.btnRestart.active = true;
}
}
click_bgMask() {
gg.audio.playEffect({ name: "点击音效"});
this.close(2);
}
click_btnDuiHuan() {
gg.ui.openPanel(UIID.PanelCDK);
}
click_btn_jtzw() {
gg.audio.playEffect({ name: "点击音效"});
sdkConfig.defaultLang = this.btnKeyArray[0];
this.refreshChangeBtn();
}
click_btn_fanti() {
gg.audio.playEffect({ name: "点击音效"});
sdkConfig.defaultLang = this.btnKeyArray[1];
this.refreshChangeBtn();
}
click_btn_english() {
gg.audio.playEffect({ name: "点击音效"});
sdkConfig.defaultLang = this.btnKeyArray[2];
this.refreshChangeBtn();
}
click_btn_hanyu() {
gg.audio.playEffect({ name: "点击音效"});
sdkConfig.defaultLang = this.btnKeyArray[3];
this.refreshChangeBtn();
}
click_btn_riben() {
gg.audio.playEffect({ name: "点击音效"});
sdkConfig.defaultLang = this.btnKeyArray[4];
this.refreshChangeBtn();
}
click_btn_xibanya() {
gg.audio.playEffect({ name: "点击音效"});
sdkConfig.defaultLang = this.btnKeyArray[5];
this.refreshChangeBtn();
}
click_btn_fayu() {
gg.audio.playEffect({ name: "点击音效"});
sdkConfig.defaultLang = this.btnKeyArray[6];
this.refreshChangeBtn();
}
click_btn_deyu() {
gg.audio.playEffect({ name: "点击音效"});
sdkConfig.defaultLang = this.btnKeyArray[7];
this.refreshChangeBtn();
}
click_btn_eluosi() {
gg.audio.playEffect({ name: "点击音效"});
sdkConfig.defaultLang = this.btnKeyArray[8];
this.refreshChangeBtn();
}
click_btn_putaoya() {
gg.audio.playEffect({ name: "点击音效"});
sdkConfig.defaultLang = this.btnKeyArray[9];
this.refreshChangeBtn();
}
click_btn_choseMan() {
let homeShow = gg.ui.panelIsShow(UIID.Home);
if(!homeShow){
gg.ui.showToast("请切换到战斗界面选择角色");
return;
}
if(gg.role.roleId == 1){
return;
}
//关闭角色界面
gg.ui.closePanel(UIID.Role);
this.btn_choseMan.getChildByName('choose').active = true
this.btn_choseWoman.getChildByName('choose').active = false
let skinId = gg.skin.CurrentSkin;
gg.role.roleId = 1
gg.role.changeSkinToRoleSkin(skinId)
//根据当前皮肤切换到对应角色的皮肤id
}
click_btn_choseWoman() {
let homeShow = gg.ui.panelIsShow(UIID.Home);
if(!homeShow){
gg.ui.showToast("请切换到战斗界面选择角色");
return;
}
if(gg.role.roleId == 0){
return;
}
//关闭角色界面
gg.ui.closePanel(UIID.Role);
this.btn_choseMan.getChildByName('choose').active = false
this.btn_choseWoman.getChildByName('choose').active = true
let skinId = gg.skin.CurrentSkin;
gg.role.roleId = 0
gg.role.changeSkinToRoleSkin(skinId)
//根据当前皮肤切换到对应角色的皮肤id
}
}