181 lines
4.8 KiB
JavaScript
181 lines
4.8 KiB
JavaScript
"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(); |