/****************************************************************** * * 家园主题场景 * ******************************************************************/ const BridgeComponent = require( "bridge.component" ); const HomeMemeber = require( "cmp.home.member" ); const HomeMod = require( "home.mod" ); cc.Class( { extends: BridgeComponent, properties: { members: { default: [], type: HomeMemeber }, }, // 显示 onEnable: function() { // 视图绑定 nx.bridge.vbind( this, [ [ "HomeEditing", this.onEditModeChanged.bind( this ) ], ] ); }, // 关闭 onDisable: function() { this.unscheduleAllCallbacks(); // 视图监听解除 nx.bridge.vunbind( this ); }, // 编辑模式改变 onEditModeChanged: function( _open ) { if( nx.dt.arrEmpty( this.members ) ) { return; } // 成员重置 this.members.forEach( ( cmp ) => { cmp.reset(); } ); // 编辑模式 if( _open ) { return; } // 成员&&奖励刷新 let self = this; let index = 0; let rewards = nx.bridge.vget( "HomeRewards" ); let partners = nx.bridge.vget( "HomePartners" ); let next = function() { let member = self.members[ index ]; if( member ) { member.setMember( partners[ index ], rewards[ index ] ); } if( ++index >= self.members.length ) { self.unscheduleAllCallbacks(); } }; this.schedule( next, 0.2 ); }, } );