"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();