/****************************************************************** * * 新服纍充 * ******************************************************************/ const ActPage = require( "act.page.base" ); const NxSpine = require( "nx.fx.spine" ); const Mod = require( "act.accumulative.mod" ); const themeMod = require( "acts.mod" ); const FID = require( "bridge.function.ids" ); cc.Class( { extends: ActPage, properties: { nodGift : { type: cc.Node, default: null }, spRole: { default: null, type: NxSpine }, nodEndTime : { default: null, type: cc.Node }, }, // 初始化 build: function( _data ) { this._super( _data ); this.spRole.load( "resDB/models/H30097/show", ( _e ) => { if( !_e ) { this.spRole.action( "action1", true ); } else { this.spRole.stop(); } } ); // 活动监听 this.mod.vbind( this, [ [ "accumulative", this.freshGift.bind( this ) ], ] ); }, onEnable: function(){ // 请求信息 this.mod.reqAccumulativeData(); }, // 销毁 onDestroy: function() { // 活动监听解除 if( this.mod ) { this.mod.vunbind( this ); } delete this.mod; this._super(); }, freshGift: function( _data ){ this.accumulative = _data; if( !this.accumulative ){ return; } let left = this.accumulative.remain_sec != 0 ? this.accumulative.remain_sec : 0.1; nx.gui.setCdTxt( this.nodEndTime, "txt", ( left ), () => { nx.gui.setString( this.nodEndTime, "txt", nx.text.getKey( "lab_planesafk_main_have_over" ) ); } ); this.gifts = this.accumulative.aim_list; this.gifts.sort( ( a, b ) => { return a.aim - b.aim; } ) nx.gui.gocChildren( this.nodGift, "view/content", this.gifts.length ); let chd = nx.gui.find( this.nodGift, "view/content" ).children; for ( let i = 0; i < chd.length; i++ ) { let nod = chd[i]; let giftInfo = this.gifts[i]; if( giftInfo ){ nx.gui.setStringRich( nod, "cnt/title", giftInfo.aim_str ); let cmp = nx.gui.getComponent( nod, "cnt/list", "cmp.common.itemlayout" ); if( cmp ){ cmp.rebuild( giftInfo.item_list ); } nod.zIndex = i; /**{"aim":21,"aim_str":"累充21圓", * "status":1,"item_list":[{"bid":3,"num":50},{"bid":10403,"num":1},{"bid":10002,"num":5}], * "aim_args":[]}* */ nx.gui.setStringRich( nod, "cnt/show", nx.text.format( "ChargeShow", this.accumulative.finish, giftInfo.aim ) ); nx.gui.setActive( nod, "cnt/charge", giftInfo.status == 0 ); nx.gui.setActive( nod, "cnt/get", giftInfo.status != 0 ); let btn = nx.gui.getComponent( nod, "cnt/get", cc.Button ); if( btn ){ btn.interactable = giftInfo.status == 1; nx.gui.setActive( nod, "cnt/get/tip", giftInfo.status == 1 ); giftInfo.status == 1 ? nx.gui.setOutlineColor( nod, "cnt/get/num", new cc.color( "#b85833" ) ) : nx.gui.setOutlineColor( nod, "cnt/get/num", cc.Color.BLACK ); giftInfo.status == 1 ? nx.gui.setString( nod, "cnt/get/num", nx.text.getKey( "Get" ) ) : nx.gui.setString( nod, "cnt/get/num", nx.text.getKey( "Got" ) ); } } } }, onTouchBuy: function( _btn ){ if( this.accumulative.remain_sec == 0 ){ nx.tbox( "lab_recruit_hero_window_tip_6" ); return; } let number = _btn.parent.parent.zIndex; let aim = this.gifts[number].aim; if( this.gifts[number].status == 2 ){ let show = nx.text.getKey( "ReWards" ) + nx.text.getKey( "Got" ); nx.tbox( show ); return; } this.mod.reqAccumulativeGift( this.accumulative.bid, aim ); }, onTouchCharge: function(){ nx.bridge.createPanel( "WndPayment", { key: "recharge" } ); }, // close: function(){ // let theme = themeMod.getInstance().queryTheme( this.mod.data.theme_id ); // nx.bridge.jumper.jump2Window( FID.ActOpenServer, theme ); // this._super(); // }, } );