Files
fc/dev/project/library/imports/af/af373cd4-e972-4096-8885-f08632e2e3d8.js
2026-05-24 10:21:26 +08:00

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