Files
fc/dev/project/library/imports/66/66ce25e9-07f6-4160-8aed-4a74f409ad4f.js
T

298 lines
9.3 KiB
JavaScript
Raw Normal View History

2026-05-24 10:21:26 +08:00
"use strict";
cc._RF.push(module, '66ce2XpB/ZBYIrtSnT0Ca1P', 'cmp.setting.wnd');
// Scripts/mod/setting/cmps/cmp.setting.wnd.js
"use strict";
/******************************************************************
*
* 设置界面
*
******************************************************************/
var BridgeWindow = require("bridge.window");
var FFSDK = require("ff_sdk");
var RoleController = require("role_controller");
var LoginMod = require("login.mod");
cc.Class({
"extends": BridgeWindow,
properties: {
nodMusic: {
"default": null,
type: cc.Node
},
nodEffect: {
"default": null,
type: cc.Node
},
nodVoice: {
"default": null,
type: cc.Node
},
nodServer: {
"default": null,
type: cc.Node
},
nodOps: {
"default": null,
type: cc.Node
}
},
onLoad: function onLoad() {
var canshow = FFSDK.getInstance().mJsonSDKInfo ? FFSDK.getInstance().mJsonSDKInfo.channelName == "erolabs" : false;
nx.gui.setActive(this.nodOps, "erolabs", canshow);
},
// 显示
onEnable: function onEnable() {
// 视图绑定
nx.frame.vbind(this, [["BgmVolume", this.onMusicVolumeChanged.bind(this)], ["SfxVolume", this.onEffectVolumeChanged.bind(this)], ["VocVolume", this.onVoiceVolumeChanged.bind(this)]]);
// 服务器名
var info = nx.bridge.vget("curServer");
var name = info ? info.srv_name : "";
if (nx.dt.strNEmpty(name)) {
this.nodServer.active = true;
var sname = nx.text.format("Zoom", info.zone_id) + nx.text.getKey(name);
nx.gui.setString(this.nodServer, "txt", sname);
} else {
this.nodServer.active = false;
}
},
// 关闭
onDisable: function onDisable() {
// 视图监听解除
nx.frame.vunbind(this);
},
// ======================================================
// 音乐控制
// ======================================================
// 单条刷新
freshVolume: function freshVolume(_item, _vol) {
var vol = parseFloat(_vol) || 0;
var open = vol >= 0.01;
nx.gui.setActive(_item, "togger/on", open);
nx.gui.setActive(_item, "togger/off", !open);
nx.gui.setString(_item, "percent", Math.floor(vol * 100) + "%");
this.freshSlider(_item, vol);
},
// 滑动条模拟
freshSlider: function freshSlider(_item, _vol) {
var slider = nx.gui.getComponent(_item, "slider", cc.Slider);
var probar = nx.gui.getComponent(_item, "slider/progress", cc.ProgressBar);
if (slider && probar) {
slider.progress = _vol;
probar.progress = _vol;
}
},
// 开关切换
onMusicTog: function onMusicTog() {
var vol = nx.frame.vget("BgmVolume");
var opening = vol > 0.01 ? true : false;
nx.audio.setBGMVolume(opening ? 0 : 0.5);
},
// 音量滑动
onMusicSliderChanged: function onMusicSliderChanged(_slider) {
this.freshSlider(this.nodMusic, _slider.progress);
var vol = nx.frame.vget("BgmVolume");
var cur = Math.floor(_slider.progress * 100) / 100;
if (vol != cur) {
nx.audio.setBGMVolume(cur);
}
},
// 音量改变
onMusicVolumeChanged: function onMusicVolumeChanged(_vol) {
this.freshVolume(this.nodMusic, _vol);
},
// ======================================================
// 音效控制
// ======================================================
// 开关切换
onEffectTog: function onEffectTog() {
var vol = nx.frame.vget("SfxVolume");
var opening = vol > 0.01 ? true : false;
nx.audio.setSFXVolume(opening ? 0 : 0.5);
},
// 音量滑动
onEffectSliderChanged: function onEffectSliderChanged(_slider) {
this.freshSlider(this.nodEffect, _slider.progress);
var vol = nx.frame.vget("SfxVolume");
var cur = Math.floor(_slider.progress * 100) / 100;
if (vol != cur) {
nx.audio.setSFXVolume(cur);
}
},
// 音量改变
onEffectVolumeChanged: function onEffectVolumeChanged(_vol) {
this.freshVolume(this.nodEffect, _vol);
},
// ======================================================
// 语音控制
// ======================================================
// 开关切换
onVoiceTog: function onVoiceTog() {
var vol = nx.frame.vget("VocVolume");
var opening = vol > 0.01 ? true : false;
nx.audio.setVoiceVolume(opening ? 0 : 0.5);
},
// 音量滑动
onVoiceSliderChanged: function onVoiceSliderChanged(_slider) {
this.freshSlider(this.nodVoice, _slider.progress);
var vol = nx.frame.vget("VocVolume");
var cur = Math.floor(_slider.progress * 100) / 100;
if (vol != cur) {
nx.audio.setVoiceVolume(cur);
}
},
// 音量改变
onVoiceVolumeChanged: function onVoiceVolumeChanged(_vol) {
this.freshVolume(this.nodVoice, _vol);
},
// ======================================================
// 其他
// ======================================================
// 点击切换账号
onTouchTogAccount: function onTouchTogAccount() {
var _this = this;
var self = this;
if (FFSDK.getInstance().mJsonSDKInfo && FFSDK.getInstance().mJsonSDKInfo.channelName == "erolabs") {
if (nx.dt.strEmpty(FFSDK.getInstance().accountinfo.data.user_info.account)) {
nx.mbox("BingAccountTip", ['no', 'yes'], function (_key, _box) {
_box.close();
if (_key == 'yes') {
LoginMod.getInstance().reqSDKLogout(function () {
FFSDK.getInstance().autoLogin();
});
} else {}
});
} else {
nx.mbox("AskTogAccount", ['no', 'yes'], function (_key, _box) {
_box.close();
if (_key == 'yes') {
LoginMod.getInstance().reqSDKLogout(function () {
FFSDK.getInstance().autoLogin();
});
} else {
console.log("switchAccount" + JSON.stringify(_this.accountinfo));
}
});
}
} else {
nx.mbox("AskTogAccount", ["no", "yes"], function (_key, _box) {
_box.close();
if (_key == "yes") {
game.enterLogin(true);
}
;
});
}
},
// 点击切换区服
onTouchTogServer: function onTouchTogServer() {
nx.mbox("AskTogServer", ["no", "yes"], function (_key, _box) {
_box.close();
if (_key == "yes") {
game.enterLogin();
}
;
});
},
// 点击BUG反馈
onTouchBugBack: function onTouchBugBack() {
var url = nx.bridge.vget("gmUrl");
if (FFSDK.getInstance().isEnableSDK() && nx.dt.strNEmpty(url)) {
FFSDK.getInstance().openUrl(url);
return;
}
nx.bridge.createPanel("WndBugReport");
},
// 点击玩家社区
onTouchBBS: function onTouchBBS() {
var url = nx.bridge.vget("socialUrl");
if (FFSDK.getInstance().isEnableSDK() && nx.dt.strNEmpty(url)) {
FFSDK.getInstance().openUrl(url);
}
},
// 点击退出游戏
onTouchQuitGame: function onTouchQuitGame() {
nx.mbox("AskQuitGame", ["no", "yes"], function (_key, _box) {
_box.close();
if (_key == "yes") {
nx.appQuit();
}
;
});
},
// 点击綁定賬號
onTouchBindAccount: function onTouchBindAccount() {
nx.bridge.createPanel("WndBind", {
desc: nx.text.getKey("SetBind"),
cb: function cb() {
FFSDK.getInstance().guestBind(function (_account) {
// console.log( "當前的account----sssss" + JSON.stringify( _account ) );
// console.log( "當前的account----wwwwwww" + _account.data.user_info.user_id );
RoleController.getInstance().reqGetBindReward(_account.data.user_info.account, function (_ret, _data) {
// console.log( "當前的account----" + _account.data.user_info.account );
if (!_ret) {
nx.tbox(_data);
return;
}
if (_data.code == 1) {
// 重新登錄 ---
nx.mTip.openTip("setting.bind", false);
nx.mTip.openTip("unbind", false);
nx.storage.set("bindreward" + _account.data.user_info.account, "get");
game.enterLogin(true);
}
});
});
}
});
},
// 点击 聯係客服
onTouchCCT: function onTouchCCT() {
var url = nx.bridge.vget("contackUrl");
if (FFSDK.getInstance().isEnableSDK() && nx.dt.strNEmpty(url)) {
FFSDK.getInstance().openUrl(url);
}
},
// 点击 群組
onTouchTGroup: function onTouchTGroup() {
var url = nx.bridge.vget("tgroupUrl");
if (FFSDK.getInstance().isEnableSDK() && nx.dt.strNEmpty(url)) {
FFSDK.getInstance().openUrl(url);
}
},
// 点击 免費ECoin
onTouchFree: function onTouchFree() {
var url = nx.bridge.vget("ecoinUrl");
if (FFSDK.getInstance().isEnableSDK() && nx.dt.strNEmpty(url)) {
FFSDK.getInstance().openUrl(url);
}
},
// 点击 免費ECoin
onTouchGetBindReward: function onTouchGetBindReward() {
nx.bridge.createPanel("WndBind", {
desc: nx.text.getKey("Get"),
cb: function cb() {
var account = FFSDK.getInstance().accountinfo ? FFSDK.getInstance().accountinfo.data.user_info.account : "";
// let role = RoleController.getInstance().getRoleVo();
RoleController.getInstance().reqGetBindReward("", function (_ret, _data) {
if (!_ret) {
nx.tbox(_data);
return;
}
if (_data.code == 1) {
nx.mTip.openTip("setting.bind", false);
nx.storage.set("bindreward" + account, "get");
}
});
}
});
}
});
cc._RF.pop();