298 lines
9.3 KiB
JavaScript
298 lines
9.3 KiB
JavaScript
"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(); |