Files
fc/dev/project/assets/Scripts/mod/personal/cmps/cmp.personal.chat.item.js
T
2026-05-23 22:10:14 +08:00

95 lines
2.1 KiB
JavaScript

/******************************************************************
*
* 头像选择项
*
******************************************************************/
const SVCItem = require( "nx.fx.sv.expand.item" );
cc.Class( {
extends: SVCItem,
properties: {
nodIcon: { default: null, type: cc.Node },
nodUsed: { default: null, type: cc.Node },
nodLock: { default: null, type: cc.Node },
nodFocus: { default: null, type: cc.Node },
nodActive: { default: null, type: cc.Node },
},
// 显示
onEnable: function() {
},
// 数据重置
rebind: function( _idx, _data, _key ) {
this._super( _idx, _data, _key );
this.nodFocus.active = false;
// 刷新
this.setData( _data );
},
// 聚焦获得
onFocus: function() {
this.nodFocus.active = true;
},
// 聚焦失去
outFocus: function() {
this.nodFocus.active = false;
},
// 置空
setEmpty: function() {
this.nodFocus.active = false;
this.nodUsed.active = false;
this.nodActive.active = false;
this.nodIcon.active = false;
this.nodLock.active = false;
},
// 设置使用中
setUsed: function( _used ) {
this.nodUsed.active = _used;
},
// 设置激活
setActive: function( _active ) {
this.nodActive.active = _active;
},
// 重置
setData: function( _data ) {
this.mdata = _data;
// 无效
if( nx.dt.objEmpty( this.mdata ) ||
!nx.dt.numPositive( this.mdata.id, false ) ) {
this.setEmpty();
return;
}
this.nodFocus.active = false;
this.nodUsed.active = false;
this.nodLock.active = _data.lock;
this.nodActive.active = _data.canActive;
// 头像框
this.nodIcon.active = true;
let path = cc.path.join( "resDB/chatskin", _data.id );
nx.gui.setSpriteFrame( this.nodIcon, "", path );
nx.gui.setString( this.nodIcon, "txt", nx.text.getKey( _data.name ) );
},
} );