Files
fc/dev/project/library/imports/2c/2cd746ad-6025-44fd-8a4f-f381847f47d2.js
2026-05-24 10:21:26 +08:00

217 lines
5.3 KiB
JavaScript

"use strict";
cc._RF.push(module, '2cd74atYCVE/YpP84GEf0fS', 'wnd.theme.entry2');
// Scripts/mod/acts/themes/wnd.theme.entry2.js
"use strict";
/******************************************************************
*
* 主題入口樣式2
*
******************************************************************/
var BridgeWindow = require("bridge.window");
var NxSpine = require("nx.fx.spine");
var TDefine = require("trace.define");
var TTT = TDefine.TraceType;
cc.Class({
"extends": BridgeWindow,
properties: {
spBG: {
"default": null,
type: NxSpine
},
imgLogo: {
"default": null,
type: cc.Node
},
nodClose: {
"default": null,
type: cc.Node
},
nodDate: {
"default": null,
type: cc.Node
},
lstEntries: {
"default": [],
type: cc.Node
}
},
// 载入
onLoad: function onLoad() {
var _this = this;
nx.gui.setActive(this.imgLogo, "", false);
nx.gui.setActive(this.nodClose, "", false);
nx.gui.setActive(this.nodDate, "", false);
nx.gui.setActive(this.spBG, "", false);
this.lstEntries.forEach(function (_entry) {
nx.gui.setActive(_this.nodDate, "", false);
});
},
// 重载:参数打开
onOpenConfigs: function onOpenConfigs(_params) {
// 信息构建
this.buildData(_params);
// 背景动画
this.doStart();
// 埋点
if (nx.mTrace) {
nx.mTrace.trace(TTT.actThemeOpened, _params.theme_id);
}
},
// 信息构建
buildData: function buildData(_params) {
// 无效参数
if (nx.dt.objEmpty(_params) || !nx.dt.numPositive(_params.theme_id, false) || nx.dt.arrEmpty(_params.theme_holiday_list)) {
this.delayClose();
return;
}
this.theme = _params;
// 活动日期
var secs = this.theme.end_time - client.socket.getTime();
if (nx.dt.numPositive(secs, false)) {
nx.gui.setColor(this.nodDate, "txt", cc.color().fromHEX("#05F515"));
nx.gui.setCdTxt(this.nodDate, "txt", secs);
} else {
nx.gui.setString(this.nodDate, "txt", nx.text.getKey("已过期"));
nx.gui.setColor(this.nodDate, "txt", cc.Color.RED);
}
// 重建入口
this.buildEntries(_params.theme_holiday_list);
},
// 背景动画
doStart: function doStart() {
var _this2 = this;
var self = this;
var show = function show() {
nx.gui.setActive(self.imgLogo, "", true);
nx.gui.setActive(self.nodClose, "", true);
nx.gui.setActive(self.nodDate, "", true);
};
var doEvent = function doEvent(_key) {
nx.debug("%doStart:" + _key);
var node = null;
switch (_key) {
case "zi_5":
{
node = self.lstEntries[4];
}
break;
case "zi_4":
{
node = self.lstEntries[3];
}
break;
case "zi_3":
{
node = self.lstEntries[2];
}
break;
case "zi_2":
{
node = self.lstEntries[1];
}
break;
case "zi_6":
{
node = self.lstEntries[5];
}
break;
case "zi_1":
{
node = self.lstEntries[0];
}
break;
case "zi_7":
{
node = self.lstEntries[6];
}
break;
case "title":
{
node = self.imgLogo;
}
break;
case "time":
{
node = self.nodDate;
}
break;
case "close":
{
node = self.nodClose;
}
break;
default:
break;
}
if (!node) {
return;
}
// 淡进显示
node.active = true;
nx.tween.fadeIn(node, "", 0.5);
};
nx.gui.setActive(this.spBG, "", true);
this.spBG.action("action", false, function (_event) {
// 展示事件
doEvent(_event);
// 完毕
if (_event == "complete") {
_this2.spBG.action("action2", true);
}
});
},
// -------------------------------------------------------
// 入口相关
// -------------------------------------------------------
// 重建入口
buildEntries: function buildEntries(_acts) {
// 活动重建
for (var i = 0; i < this.lstEntries.length; ++i) {
var info = _acts[i];
var node = this.lstEntries[i];
if (nx.dt.objEmpty(info)) {
node.active = false;
node.ainfo = null;
continue;
}
node.ainfo = info;
node.active = false;
nx.gui.setString(node, "txt", nx.text.getKey(info.name));
var tip = nx.gui.getComponent(node, "tip", "nx.vb.visible");
if (tip) {
tip.setTarget(nx.mTip, "acts." + this.theme.theme_id + "." + info.cate + "." + info.camp_id);
}
}
},
// 点击入口
onTouchEntry: function onTouchEntry(_item) {
var entry = _item ? _item.parent.ainfo : null;
if (nx.dt.objEmpty(entry)) {
return;
}
var time = new Date();
var showtime = entry.end_time - time / 1000;
if (showtime < 0) {
nx.tbox("StepUpDone");
return;
}
nx.debug("$ThemeEntry:\u6D3B\u52A8\u70B9\u51FB!" + entry.name);
nx.bridge.jumper.jump2Window(entry.source, {
theme: this.theme,
entry: entry
});
this.close();
}
});
cc._RF.pop();