"use strict"; cc._RF.push(module, 'af373zU6XJAloiF8IYy4uPY', 'cmp.home.wnd'); // Scripts/mod/home/cmps/cmp.home.wnd.js "use strict"; /****************************************************************** * * 家园主界面 * ******************************************************************/ var BridgeWindow = require("bridge.window"); var HomeMod = require("home.mod"); var TipController = require("tips_controller"); var KernelController = require("halidom_controller"); var MallConst = require("mall_const"); cc.Class({ "extends": BridgeWindow, properties: { nodScene: { "default": null, type: cc.Node }, nodUI: { "default": null, type: cc.Node } }, // 显示 onEnable: function onEnable() { // 视图绑定 nx.bridge.vbind(this, [["HomeTheme", this.onHomeThemeChanged.bind(this)], ["HomeEditing", this.onEditModeChanged.bind(this)]]); // 亲密度请求 HomeMod.getInstance().reqIntimacyData(function (_ret, _data) { if (!_ret) { nx.tbox(_data); return; } }); }, // 关闭 onDisable: function onDisable() { // 视图监听解除 nx.bridge.vunbind(this); }, // 重载:参数打开 onOpenConfigs: function onOpenConfigs(_params) { this.themeId = 0; this.target = null; if (nx.dt.objNEmpty(_params) && nx.dt.strNEmpty(_params.srv_id) && nx.dt.numPositive(_params.rid, false)) { this.target = { srv_id: _params.srv_id, rid: _params.rid }; } ; // 自家刷新 var HM = HomeMod.getInstance(); var cb = function cb(_ret, _data) { if (!_ret) { nx.tbox(_data); return; } }; if (nx.dt.objEmpty(this.target)) { HM.reqHomeData(cb); } else { HM.reqVisitHome(this.target.srv_id, this.target.rid, cb); } }, // 加载场景 onHomeThemeChanged: function onHomeThemeChanged(_id, _old, _init) { var _this = this; if (this.themeId == _id || _id <= 0) { return; } var DATA = game.configs.homeland_data.data_theme_data[_id]; if (nx.dt.objEmpty(DATA)) { nx.warn("当前家园主题无效:", _id); this.themeId = 0; return; } this.themeId = _id; nx.gui.setActive(this.nodScene, "preview", true); var path = cc.path.join("resDB/home/themes", DATA.theme_res_id, "mini"); nx.gui.setSpriteFrame(this.nodScene, "preview/bg", path); var root = nx.gui.find(this.nodScene, "scene/view/content"); path = cc.path.join("prefab/home/themes", DATA.theme_res_id); nx.res.loadPrefab(path, function (_err, _fab) { if (_err) { nx.tbox(_err.message || ""); return; } root.removeAllChildren(); // nx.bridge.NodeChidrenDestroy(root); var node = cc.instantiate(_fab); node.parent = root; nx.gui.setActive(_this.nodScene, "preview", false); }); }, // 编辑模式改变 onEditModeChanged: function onEditModeChanged(_open) { nx.gui.setActive(this, "ui", !_open); nx.gui.setActive(this, "theme", _open); }, // 修改名字 onTouchModifyHomeName: function onTouchModifyHomeName() { var HC = HomeMod.getInstance(); var TC = TipController.getInstance(); var modify = function modify(_name) { HC.reqChangeName(_name, function (_ret, _data) { if (!_ret) { nx.tbox(_data); return; } }); }; TC.showInputString({ tip: "HomeRenameTip", limit: [4, 20], cb: function cb(_box, _str) { _box.close(); modify(_str); } }); }, // 浏览开启 onTouchTogReview: function onTouchTogReview() { var review = nx.bridge.vget("HomeViewing"); nx.bridge.vset("HomeViewing", !review); }, // 编辑开启 onTouchThemeEdit: function onTouchThemeEdit() { HomeMod.getInstance().togHomeEdit(); }, // 同步中心 onTouchAsynCenter: function onTouchAsynCenter() { nx.bridge.createPanel("WndSyncCenter"); }, // 基础核心 onTouchBaseKernel: function onTouchBaseKernel() { var KC = KernelController.getInstance(); KC.openHomeKernelWind(true); }, // 寝室 onTouchBedRoom: function onTouchBedRoom() { nx.bridge.createPanel("WndBedroom"); }, // 访问足迹 onTouchFootmark: function onTouchFootmark() { nx.bridge.createPanel("WndHomeFootmark"); }, // 好友 onTouchFriend: function onTouchFriend() { nx.bridge.createPanel("WndFriend", { type: 1 }); }, // 家园商店 onTouchShop: function onTouchShop() { nx.bridge.jumper.jump2Window(132, [MallConst.MallType.SummonShop, MallConst.MallType.ThemeShop]); }, // 离开家园 onTouchLeave: function onTouchLeave() { // 直接离开 var mine = nx.bridge.vget("HomeMine"); if (mine) { this.close(); return; } // 返回自己家园 var HM = HomeMod.getInstance(); HM.reqHomeData(); } }); cc._RF.pop();