131 lines
3.6 KiB
JavaScript
131 lines
3.6 KiB
JavaScript
"use strict";
|
|
cc._RF.push(module, '19dbfwljzJK67i1W8g3BgdQ', 'act.dailytreasure.task');
|
|
// Scripts/mod/acts/dailytreasure/cmp/act.dailytreasure.task.js
|
|
|
|
"use strict";
|
|
|
|
var BridgeComponent = require("bridge.component");
|
|
var Mod = require("act.dailytreasure.mod");
|
|
var NxSpine = require("nx.fx.spine");
|
|
cc.Class({
|
|
"extends": BridgeComponent,
|
|
properties: {
|
|
nodList: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
spRole: {
|
|
"default": null,
|
|
type: NxSpine
|
|
},
|
|
nodTip: {
|
|
"default": null,
|
|
type: cc.Node
|
|
}
|
|
},
|
|
onLoad: function onLoad() {
|
|
var _this = this;
|
|
this.mod = Mod.getInstance();
|
|
// 无效
|
|
if (!this.mod) {
|
|
this.delayClose();
|
|
return;
|
|
}
|
|
this.spRole.load("resDB/models/H30061/show", function (_e) {
|
|
if (!_e) {
|
|
_this.spRole.action("action1", true);
|
|
} else {
|
|
_this.spRole.stop();
|
|
}
|
|
});
|
|
this.mod.vbind(this, [["dailySPrayTask", this.freshInfo.bind(this)], ["freshDailyTask", this.freshTask.bind(this)]]);
|
|
},
|
|
// 销毁
|
|
onDestroy: function onDestroy() {
|
|
// 活动监听解除
|
|
if (this.mod) {
|
|
this.mod.vunbind(this);
|
|
}
|
|
delete this.mod;
|
|
this._super();
|
|
},
|
|
freshInfo: function freshInfo(_data) {
|
|
var _this2 = this;
|
|
if (!_data || nx.dt.arrEmpty(_data.list)) {
|
|
return;
|
|
}
|
|
/***
|
|
* {"cur_day":2,"end_time":1706543999,
|
|
* "list":[{"id":60008,"type":13,"finish":0,"target_val":5,"value":0,"end_time":0},
|
|
* {"id":60007,"type":13,"finish":0,"target_val":4,"value":0,"end_time":0},
|
|
* {"id":60006,"type":13,"finish":0,"target_val":3,"value":0,"end_time":0},
|
|
* {"id":60005,"type":13,"finish":1,"target_val":1,"value":1,"end_time":0}]}
|
|
* */
|
|
// let id = this.tasks
|
|
var info = _data;
|
|
var period = this.mod.vget("dailySPrayTask");
|
|
var cur = info.cur_day;
|
|
info.list.sort(function (a, b) {
|
|
return a.id - b.id;
|
|
});
|
|
var tasks = gdata(this.mod.data.config, "data_day_task_list")[period.period];
|
|
var taskshow = [];
|
|
for (var i in tasks) {
|
|
var task = tasks[i];
|
|
if (task.day == cur) {
|
|
taskshow.push(task);
|
|
}
|
|
}
|
|
var show = 0;
|
|
nx.gui.gocChildren(this.nodList, "", taskshow.length);
|
|
var chd = this.nodList.children;
|
|
var _loop = function _loop() {
|
|
var nod = chd[t];
|
|
var task = nx.dt.objClone(taskshow[t]);
|
|
task.cb = function () {
|
|
_this2.mod.reqTreasureTaskR(task.goal_id);
|
|
};
|
|
var cmp = nx.gui.getComponent(nod, "", "act.dailytreasure.taskitem");
|
|
if (cmp) {
|
|
cmp.rebind(t, task);
|
|
cmp.setExInfo(info.list[t]);
|
|
if (info.list[t].finish == 1) {
|
|
show++;
|
|
}
|
|
}
|
|
};
|
|
for (var t = 0; t < chd.length; t++) {
|
|
_loop();
|
|
}
|
|
nx.gui.setActive(this.nodTip, "", show > 0);
|
|
},
|
|
freshTask: function freshTask(_info) {
|
|
if (!_info || nx.dt.arrEmpty(_info.list)) {
|
|
return;
|
|
}
|
|
var info = _info.list;
|
|
var show = 0;
|
|
// [31121]:{"list":[{"id":60005,"type":13,"finish":2,"target_val":1,"value":1,"end_time":0}]}
|
|
var chd = this.nodList.children;
|
|
for (var i = 0; i < info.length; i++) {
|
|
var tinfo = info[i];
|
|
for (var t = 0; t < chd.length; t++) {
|
|
var nod = chd[t];
|
|
var cmp = nx.gui.getComponent(nod, "", "act.dailytreasure.taskitem");
|
|
if (cmp) {
|
|
if (cmp.mdata.goal_id == tinfo.id) {
|
|
cmp.setExInfo(tinfo);
|
|
if (tinfo.finish == 1) {
|
|
show++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
nx.gui.setActive(this.nodTip, "", show > 0);
|
|
this.mod.openTip("reward", show > 0);
|
|
},
|
|
onEnable: function onEnable() {}
|
|
});
|
|
|
|
cc._RF.pop(); |