Files
fc/dev/project/assets/Scripts/mod/home/base_kernel/cmp.base.kernel.wnd.js
T
2026-05-23 22:10:14 +08:00

181 lines
5.5 KiB
JavaScript

const BridgeWindow = require( "bridge.window" );
const KernelController = require( "halidom_controller" );
const KernelEvent = require( "halidom_event" );
const TipsController = require( "tips_controller" );
const FxSVC = require( "nx.fx.sv.expand" );
cc.Class({
extends: BridgeWindow,
properties: {
nodCamps: { default: [], type : cc.Node},
nodParent: { default: null, type : cc.Node },
nodCamps : { default: null, type : FxSVC, },
nodClose: { default: null, type : cc.Node }
},
onLoad: function(){
this.bindGEvent( KernelEvent.Update_Halidom_Data_Event, this.freshOne.bind( this) );
nx.gui.setActive( this.nodClose, "", false );
},
onEnable : function(){
this.freshKernel();
},
/*******
* send] >>>[14:27:54][22200]:{}
[22200]:{"list":[{"id":5,"lev":1,"exp":0,"step":0,
"all_attr":[{"name":104,"val":1014},{"name":101,"val":84}]}]}
[22201]:{"id":2,"lev":1,"exp":0,"step":0,"all_attr":[{"name":104,"val":921},{"name":101,"val":77}]}
*/
freshKernel : function( ){
let cfg = game.configs.halidom_data.data_base;
this.count = Object.keys( cfg ).length;
let KC = KernelController.getInstance();
// nx.gui.gocChildren( this.nodParent, "", count );
let chd = this.nodParent.children;
let KM = KC.getModel();
if( KM ){
let kernelInfo = KM.getAllHaildomData();
this.freshKernelBase();
if( !nx.dt.arrEmpty( kernelInfo ) ){
for (let i = 0; i < kernelInfo.length; i++) {
let item = kernelInfo[i];
let dataCp = nx.dt.objClone( cfg[item.id] ) ;
dataCp.id = item.id;
dataCp.level = item.lev;
dataCp.exp = item.exp;
dataCp.step = item.step;
this.freshKernelOne( dataCp );
}
}
// console.log( "基础核心数据" + JSON.stringify( kernelInfo ) );
}
},
freshOne: function(){
let cfg = game.configs.halidom_data.data_base;
let KC = KernelController.getInstance();
// nx.gui.gocChildren( this.nodParent, "", count );
let KM = KC.getModel();
if( KM ){
let kernelInfo = KM.getAllHaildomData();
if( !nx.dt.arrEmpty( kernelInfo ) ){
for (let i = 0; i < kernelInfo.length; i++) {
let item = kernelInfo[i];
let dataCp = nx.dt.objClone( cfg[item.id] ) ;
dataCp.id = item.id;
dataCp.level = item.lev;
dataCp.exp = item.exp;
dataCp.step = item.step;
this.freshKernelOne( dataCp );
}
}
// console.log( "基础核心数据" + JSON.stringify( kernelInfo ) );
}
},
// 刷新基础核心基础信息
freshKernelOne: function( _data ){
let chd = nx.gui.find( this.nodCamps, "view/content" ).children;
let id = _data.camp;
let node = chd[id-1];
let cmp = node.svItem;
if( cmp ){
cmp.rebind( id - 1, _data );
}
},
// 刷新基础核心基础信息
freshKernelBase: function(){
let cfg = game.configs.halidom_data.data_base;
let datas = [];
// let
for (let i = 0; i < this.count; i++) {
// let item = this.nodParent.children[i];
let data = nx.dt.objClone( cfg[i + 1] ) ;
// let cmp = item.getComponent( "cmp.kernel.item.base" );
if( data ){
data.level = 0;
data.exp = 0;
data.step = 0;
datas.push( data );
}
}
this.nodCamps.rebuild( datas );
},
onTouchHelp: function(){
let TC = TipsController.getInstance();
if( TC ) {
let txt = game.configs.halidom_data.data_const.halidom_rule;
TC.showTextPanel( "tip", txt.desc );
}
},
onTouchShowAttrPop: function( _btn ){
let chd = nx.gui.find( this.nodCamps, "view/content" ).children;
for (let i = 0; i < chd.length; i++) {
let nod = chd[i];
let cmp = nod.svItem;
if( cmp && i != ( _btn.datass - 1 ) ){
let snode = nx.gui.find( cmp.nodUnLocked, "skill" );
let nodattr = nx.gui.find( snode, "skill_info/attr" );
nx.gui.setActive( nodattr, "", false );
}
}
let node = chd[_btn.datass-1];
let cmp = node.svItem;
let snode = nx.gui.find( cmp.nodUnLocked, "skill" );
let nodattr = nx.gui.find( snode, "skill_info/attr" );
nx.gui.setActive( nodattr, "", !nodattr.active );
nx.gui.setActive( this.nodClose, "", true );
},
onTouchCloseAll: function(){
let chd = nx.gui.find( this.nodCamps, "view/content" ).children;
for (let i = 0; i < chd.length; i++) {
let nod = chd[i];
let cmp = nod.svItem;
let snode = nx.gui.find( cmp.nodUnLocked, "skill" );
let nodattr = nx.gui.find( snode, "skill_info/attr" );
nx.gui.setActive( nodattr, "", false );
}
nx.gui.setActive( this.nodClose, "", false );
}
});