Files
fc/dev/project/assets/Scripts/mod/acts/stepup/cmp/cmp.act.stepup.sign.js
T
2026-05-23 22:10:14 +08:00

122 lines
4.1 KiB
JavaScript

/******************************************************************
* Copyright(C) 2019 - 2020 Nx Studio
*
* STEP-UP 七日签到
*
******************************************************************/
const ActPage = require( "act.page.base" );
const STModel = require( "act.stepup.sign.mod" );
cc.Class( {
extends: ActPage,
properties: {
nodDate: { default: null, type: cc.Node },
nodLogo: { default: null, type: cc.Node },
nodDays: { default: null, type: cc.Node },
},
// 载入
onLoad: function() {
let chds = this.nodDays.children;
for( let i = 0; i < chds.length; ++i ) {
let node = chds[i];
nx.gui.setActive( node, "off", true );
nx.gui.setActive( node, "on", false );
nx.gui.setColor( node, "off", cc.Color.WHITE );
let txt = nx.text.getKey( `SevenDay${i+1}` );
nx.gui.setString( node, "time", txt );
nx.gui.setActive( node, "done", false );
nx.gui.hideAllChildren( node, "status" );
}
},
// 初始化
build: function( _data ) {
this._super( _data );
let data = STModel.getInstance().getConfig();
for( let idx in data ) {
let ifo = data[idx];
let node = this.nodDays.getChildByName( 'day' + idx );
let icon = nx.gui.getComponent( node, "icon", "cmp.item.base" );
icon.setData( ifo.reward[0] );
}
STModel.getInstance().reqSignData( ( _ret, _data ) => {
if( _ret ) {
this.onFresh();
}
} );
// 活动时间
let est = STModel.getInstance().data.end_time;
nx.gui.setString( this.nodDate, "txt", nx.bridge.time.cdSimple( est ) );
},
// 刷新
// 0不可领取 1可领取 2已领取
onFresh: function() {
let data = STModel.getInstance().vget( "stepSign7" );
for( let idx in data ) {
let ifo = data[idx];
let node = this.nodDays.getChildByName( `day${ifo.day}`);
switch( ifo.status ) {
case 1: {
nx.gui.setActive( node, "on", true );
nx.gui.setActive( node, "off", false );
nx.gui.setActive( node, "done", false );
nx.gui.setActive( node, "status/wait", false );
nx.gui.setActive( node, "status/got", false );
nx.gui.setActive( node, "status/get", true );
nx.gui.setOpacity( node, "icon", 255 );
} break;
case 2: {
nx.gui.setActive( node, "on", false );
nx.gui.setActive( node, "off", true );
nx.gui.setColor( node, "off", cc.Color.GRAY );
nx.gui.setActive( node, "done", true );
nx.gui.setActive( node, "status/wait", false );
nx.gui.setActive( node, "status/got", true );
nx.gui.setActive( node, "status/get", false );
nx.gui.setOpacity( node, "icon", 180 );
} break;
default: {
nx.gui.setActive( node, "on", false );
nx.gui.setActive( node, "off", true );
nx.gui.setColor( node, "off", cc.Color.WHITE );
nx.gui.setActive( node, "done", false );
nx.gui.setActive( node, "status/wait", true );
nx.gui.setActive( node, "status/got", false );
nx.gui.setActive( node, "status/get", false );
nx.gui.setOpacity( node, "icon", 255 );
} break;
}
}
},
// 点击领取
onTouchGet: function( _day ) {
let day = parseInt( _day ) || 0;
if( day < 1 || day > 7 ) {
return;
}
STModel.getInstance().reqSignGet( day, ( _ret, _data ) => {
if( !_ret ) {
nx.tbox( _data );
return;
}
this.onFresh();
} );
},
} );