/****************************************************************** * * 僚机预览 * ******************************************************************/ const BridgeWindow = require( "bridge.window" ); const HeroController = require( "hero_controller" ); const BackpackController = require( "backpack_controller" ); const FxSVC = require( "nx.fx.sv.expand" ); cc.Class( { extends: BridgeWindow, properties: { svcwingsList : { default: null, type : FxSVC, displayName: "僚机列表", }, skill: { default: null, type : cc.Node, displayName: "技能展示", }, role: { default: null, type : cc.Sprite, displayName: "立绘", }, }, onLoad: function() { this.freshWingList(); }, // 重载:参数打开 onOpenConfigs: function( _params ) { // this.schemes = []; // this.select_wing = 0; // this.select_pos = 0; }, // 重载:关闭前 onPreClosed: function() { // this.svcschemeList.rebuild( [] ); this.svcwingsList.rebuild( [] ); }, // 刷新所有的方案列表 freshWingList : function( _scheme ){ let key = game.configs.sprite_data.data_const.sprite_max_star_show.val; let cfg = gdata( "sprite_data", "data_elfin_book", key ); this.svcwingsList.rebuild( cfg ); this.svcwingsList.addFocus( 0 ); let data = {}; data.index = 0; data.mdata = cfg[0]; this.onFocusChanged( data ); }, // 选中切换 僚机机库 onFocusChanged: function( _item ) { // // 聚焦 this.svcwingsList.cleanFocus(); this.svcwingsList.addFocus( _item.index ); this.freshSkillDesc( _item.mdata ); }, // 刷新技能介绍 freshSkillDesc : function( _mdata ){ if( !_mdata ){ return; } let key = _mdata; let sfg = gdata( "sprite_data","data_elfin_data", key ); let cmp = this.skill.getComponent( "cmp.skill.base" ); let ifg = gdata( "item_data","data_unit9", key ); nx.gui.setString( this.skill, "type/txt", ifg.use_desc ); nx.bridge.setIcon( this.role, "", ifg.imageid ); if (sfg.skill) { if( cmp ){ cmp.setData( sfg.skill ); } }else{ if( cmp ){ cmp.setData( [] ); } } }, // 返回主场景 onBackToMain: function(){ const BC = BackpackController.getInstance(); if( BC ) { BC.openMainWindow( false ); } let HR = HeroController.getInstance(); HR.openHeroMainInfoWindow( false ); HR.openHeroBagWindow( true ); }, } );