Files
2026-05-23 22:10:14 +08:00

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 );
},
} );