74 lines
1.6 KiB
JavaScript
74 lines
1.6 KiB
JavaScript
/******************************************************************
|
|
*
|
|
* 家园主题场景
|
|
*
|
|
******************************************************************/
|
|
|
|
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 );
|
|
},
|
|
|
|
} );
|