1388 lines
36 KiB
JavaScript
1388 lines
36 KiB
JavaScript
// ================================================================
|
|
//
|
|
// 桥接 跳转
|
|
//
|
|
// ================================================================
|
|
|
|
const HRC = require( "hero_controller" );
|
|
const ROC = require( "role_controller" );
|
|
const EXC = require( "exchange_controller" );
|
|
const VIP = require( "vip_controller" );
|
|
const EFC = require( "elfin_controller" );
|
|
const EDC = require( "endless_trail_controller" );
|
|
const BTC = require( "battle_controller" );
|
|
const PLAC = require( "planesafk_controller" );
|
|
const FID = require( "bridge.function.ids" );
|
|
const MC = require( "mall_controller" );
|
|
const MailMod = require( "mail.mod" );
|
|
const ChatController = require( "chat_controller" );
|
|
const PVPMod = require( "pvp.mod" );
|
|
|
|
const BKC = require( "backpack_controller" );
|
|
const BPC = require( "backpack_const" );
|
|
const MCT = require( "mall_const" );
|
|
const BattleConst = require( "battle_const" );
|
|
const BBT = BPC.tips_btn_type;
|
|
const BBC = BPC.Bag_Code;
|
|
const BUT = BPC.item_use_type;
|
|
const BIT = BPC.item_type;
|
|
const BTT = BPC.item_sub_type;
|
|
|
|
// ================================================================
|
|
// 关键字跳转
|
|
// ================================================================
|
|
const KeyJumps = {};
|
|
|
|
// 金币跳转
|
|
KeyJumps[ "coin" ] = function() {
|
|
EXC.getInstance().openExchangeMainView( true );
|
|
return true;
|
|
};
|
|
|
|
// 钻石跳转
|
|
KeyJumps[ "gold" ] = function() {
|
|
nx.bridge.createPanel( "WndPayment", { key: "recharge" } );
|
|
return true;
|
|
};
|
|
|
|
// 友情点
|
|
KeyJumps[ "friend_point" ] = function() {
|
|
nx.bridge.createPanel( "WndFriend" );
|
|
return true;
|
|
};
|
|
|
|
// ================================================================
|
|
// 来源跳转
|
|
// ================================================================
|
|
|
|
const SourceJumps = {};
|
|
|
|
// 召唤跳转
|
|
SourceJumps[ FID.Summon ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndSummon", _args );
|
|
};
|
|
|
|
// 召唤跳转
|
|
SourceJumps[ FID.SummonInfinite ] = function( _args ) {
|
|
let args = _args || {};
|
|
args.key = "infinite";
|
|
nx.bridge.createPanel( "WndSummon", args );
|
|
};
|
|
|
|
// 召唤跳转
|
|
SourceJumps[ FID.SummonStepUp ] = function( _args ) {
|
|
let args = _args || {};
|
|
args.key = "step";
|
|
nx.bridge.createPanel( "WndSummon", args );
|
|
};
|
|
|
|
// 水晶召唤
|
|
SourceJumps[ FID.SummonCrystal ] = function( _args ) {
|
|
let args = _args || {};
|
|
args.key = "crystal";
|
|
nx.bridge.createPanel( "WndSummon", args );
|
|
};
|
|
|
|
// 兑换 道具商店跳转
|
|
SourceJumps[ FID.Shop ] = function( _args ) {
|
|
|
|
let args = _args;
|
|
if( args ) {
|
|
let extend = args.extend;
|
|
if( extend ) {
|
|
if( extend[ 0 ] != MCT.MallType.Recovery && extend[ 0 ] != MCT.MallType.GodShop && extend[ 0 ] != MCT.MallType.SkillShop ) {
|
|
MC.getInstance().openMallPanel( true, [ MCT.MallType.ScoreShop, extend[ 0 ] ] );
|
|
return;
|
|
}
|
|
}
|
|
let p1 = _args.p1;
|
|
let p2 = _args.p2;
|
|
if( p1 && p2 ) {
|
|
MC.getInstance().openMallPanel( true, [ p1, p2 ] );
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
MC.getInstance().openMallPanel( true, [ MCT.MallType.GodShop ] );
|
|
};
|
|
|
|
// 召唤家园
|
|
SourceJumps[ FID.Home ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndHome", _args );
|
|
};
|
|
|
|
// 家园兑换商城
|
|
SourceJumps[ FID.ThemeShop ] = function( _args ) {
|
|
MC.getInstance().openMallPanel( true, [ MCT.MallType.SummonShop, MCT.MallType.ThemeShop ] );
|
|
};
|
|
|
|
// 限时兑换商城
|
|
SourceJumps[ FID.LimitTimeEx ] = function( _args ) {
|
|
MC.getInstance().openMallPanel( true, [ MCT.MallType.LimitTimeChange ] );
|
|
};
|
|
|
|
// 探险
|
|
SourceJumps[ FID.MysteryExplore ] = function( _args ) {
|
|
|
|
let acts = nx.bridge.acts.acts;
|
|
let showcamp = null;
|
|
if( acts ) {
|
|
for( let a in acts ) {
|
|
let act = acts[ a ];
|
|
if( act.data.source == FID.MysteryExplore ) {
|
|
showcamp = act.data;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if( showcamp ) {
|
|
jump2ActTheme( showcamp.theme_id, showcamp.camp_id );
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
// 家园兑换商城
|
|
SourceJumps[ FID.PartnerExChange ] = function( _args ) {
|
|
MC.getInstance().openMallPanel( true, [ MCT.MallType.SummonShop, MCT.MallType.LimitStore ] );
|
|
};
|
|
|
|
// 限時祈願兌換商城
|
|
SourceJumps[ FID.PartnerPrayShops ] = function( _args ) {
|
|
MC.getInstance().openMallPanel( true, [ MCT.MallType.SummonShop, MCT.MallType.LimitPrayStore ] );
|
|
};
|
|
|
|
// 限時祈願兌換商城
|
|
SourceJumps[ FID.PartnerWingsShops ] = function( _args ) {
|
|
MC.getInstance().openMallPanel( true, [ MCT.MallType.SummonShop, MCT.MallType.LimitWingsStore ] );
|
|
};
|
|
|
|
// 派遣跳转
|
|
SourceJumps[ FID.Dispatch ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndDispatchTask", _args );
|
|
};
|
|
|
|
// 图书馆跳转
|
|
SourceJumps[ FID.Library ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndLibrary", _args );
|
|
};
|
|
|
|
// 秘书组跳转
|
|
SourceJumps[ FID.Clerk ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndPersonalClerk", _args );
|
|
};
|
|
|
|
// 联盟界面跳转
|
|
SourceJumps[ FID.Guild ] = function( _args ) {
|
|
|
|
let role = ROC.getInstance().getRoleVo();
|
|
if( role && role.isHasGuild() ) {
|
|
nx.bridge.createPanel( "WndGuild" );
|
|
} else {
|
|
nx.bridge.createPanel( "WndGuildList" );
|
|
}
|
|
};
|
|
|
|
// 联盟捐献界面跳转
|
|
SourceJumps[ FID.GuildDonate ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndGuildDonate", _args );
|
|
};
|
|
|
|
// 競技場兌換商城界面跳转
|
|
SourceJumps[ FID.ArenaShop ] = function( _args ) {
|
|
MC.getInstance().openMallPanel( true, [ MCT.MallType.ScoreShop, MCT.MallType.ArenaShop ] );
|
|
};
|
|
|
|
// 联盟兌換商城界面跳转
|
|
SourceJumps[ FID.GuildShop ] = function( _args ) {
|
|
MC.getInstance().openMallPanel( true, [ MCT.MallType.ScoreShop, MCT.MallType.UnionShop ] );
|
|
};
|
|
|
|
// 僚机采购界面跳转
|
|
SourceJumps[ FID.ElfinSummon ] = function( _args ) {
|
|
EFC.getInstance().openElfinWishWindow( true );
|
|
};
|
|
|
|
// 伙伴兑换商城界面跳转
|
|
SourceJumps[ FID.PertnerShop ] = function( _args ) {
|
|
MC.getInstance().openMallPanel( true, [ MCT.MallType.Recovery ] );
|
|
};
|
|
|
|
// 争夺商店
|
|
SourceJumps[ FID.PlanesShop ] = function( _args ) {
|
|
MC.getInstance().openMallPanel( true, [ MCT.MallType.ScoreShop, MCT.MallType.FriendShop ] );
|
|
};
|
|
|
|
// 段位商店
|
|
SourceJumps[ FID.EliteShop ] = function( _args ) {
|
|
MC.getInstance().openMallPanel( true, [ MCT.MallType.ScoreShop, MCT.MallType.EliteShop ] );
|
|
};
|
|
|
|
// 跨服和组队竞技商店
|
|
SourceJumps[ FID.CrossShop ] = function( _args ) {
|
|
MC.getInstance().openMallPanel( true, [ MCT.MallType.ScoreShop, MCT.MallType.CrossarenaShop ] );
|
|
};
|
|
|
|
// 冠军赛商店
|
|
SourceJumps[ FID.ChampionShop ] = function( _args ) {
|
|
|
|
};
|
|
|
|
|
|
|
|
// 现金充值
|
|
SourceJumps[ FID.Charge ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndPayment", { page: "vip" } );
|
|
};
|
|
|
|
// 特權商店
|
|
SourceJumps[ FID.PrivilegeShop ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndPayment", { page: "shop" } );
|
|
};
|
|
|
|
// 伙伴背包
|
|
SourceJumps[ FID.Partner ] = function( _args ) {
|
|
HRC.getInstance().openHeroBagWindow( true );
|
|
};
|
|
|
|
// 义肢背包
|
|
SourceJumps[ FID.Equip ] = function( _args ) {
|
|
BKC.getInstance().openMainWindow( true );
|
|
};
|
|
|
|
// 碎片背包
|
|
SourceJumps[ FID.Chips ] = function( _args ) {
|
|
BKC.getInstance().openMainWindow( true, BTT.HERO );
|
|
};
|
|
|
|
// 芯片背包
|
|
SourceJumps[ FID.Artifact ] = function( _args ) {
|
|
BKC.getInstance().openMainWindow( true, BTT.SPECIAL );
|
|
};
|
|
|
|
// 僚机背包
|
|
SourceJumps[ FID.WingBag ] = function( _args ) {
|
|
BKC.getInstance().openMainWindow( true, BTT.ELFIN );
|
|
};
|
|
|
|
// 僚机
|
|
SourceJumps[ FID.Wing ] = function( _args ) {
|
|
HRC.getInstance().openHeroBagWindow( true, "wings" );
|
|
};
|
|
|
|
// 跳转竞技场
|
|
SourceJumps[ FID.Arena ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 2 );
|
|
},
|
|
|
|
// 跳转竞技场宝箱
|
|
SourceJumps[ FID.ArenaBox ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 2 );
|
|
},
|
|
|
|
// 跳转歼星迷途
|
|
SourceJumps[ FID.Adventure ] = function( _args ) {
|
|
// nx.tbox( "NoImplementation" );
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 6 );
|
|
},
|
|
|
|
// 歼星迷途冒险情报兑换商店
|
|
SourceJumps[ FID.AdventureShop ] = function( _args ) {
|
|
nx.tbox( "NoImplementation" );
|
|
},
|
|
|
|
// 跳转歼星迷途探索宝箱
|
|
SourceJumps[ FID.AdventureBox ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 6 );
|
|
},
|
|
|
|
//家园寝室亲密度跳转
|
|
SourceJumps[ FID.BedRoom ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndBedroom" );
|
|
};
|
|
|
|
// 联盟副本界面跳转
|
|
SourceJumps[ FID.GuildCopy ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 9 );
|
|
};
|
|
|
|
// 联盟联赛界面跳转
|
|
SourceJumps[ FID.GuildRace ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow(16);
|
|
// nx.bridge.createPanel( "WndGuildRace", _args );
|
|
};
|
|
|
|
// 联盟秘境界面跳转
|
|
SourceJumps[ FID.GuildSArea ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndGuildSArea", _args );
|
|
};
|
|
|
|
// 联盟宝库界面跳转
|
|
SourceJumps[ FID.GuildDepot ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndGuildMarketMain", _args );
|
|
};
|
|
|
|
// 好友界面跳转
|
|
SourceJumps[ FID.Friend ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndFriend", { type: 1 } );
|
|
};
|
|
|
|
//点金界面跳转
|
|
SourceJumps[ FID.Coin ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndPopBuyCoin" );
|
|
};
|
|
|
|
// 日常任务跳转
|
|
SourceJumps[ FID.Daily ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndTaskDaily", _args );
|
|
};
|
|
|
|
// 开服预告
|
|
SourceJumps[ FID.openServerActs ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndOpenServer", _args );
|
|
};
|
|
|
|
// 日常任务跳转
|
|
SourceJumps[ FID.Task ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndTaskMain", _args );
|
|
};
|
|
|
|
// 成就任务跳转
|
|
SourceJumps[ FID.Achievement ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndAchievement", _args );
|
|
};
|
|
|
|
// 同步中心跳转
|
|
SourceJumps[ FID.SyncCenter ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndSyncCenter", _args );
|
|
};
|
|
|
|
// 同步中心跳转
|
|
SourceJumps[ FID.GoExplore ] = function( _args ) {
|
|
|
|
let acts = nx.bridge.acts.acts;
|
|
let showcamp = null;
|
|
if( acts ) {
|
|
for( let a in acts ) {
|
|
let act = acts[ a ];
|
|
if( act.data.source == FID.GoExplore ) {
|
|
showcamp = act.data;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if( showcamp ) {
|
|
jump2ActTheme( showcamp.theme_id, showcamp.camp_id );
|
|
}
|
|
|
|
}
|
|
};
|
|
|
|
|
|
// 大富翁跳转
|
|
SourceJumps[ FID.Mono ] = function( _args ) {
|
|
|
|
let Mono = require( "monopoly.mod" );
|
|
let ret = Mono.getInstance().checkLock();
|
|
if( nx.dt.objNEmpty( ret ) ) {
|
|
nx.tbox( ret.desc );
|
|
return;
|
|
}
|
|
|
|
// 信息请求
|
|
Mono.getInstance().fetchData( ( _ret, _data ) => {
|
|
|
|
if( !_ret ) {
|
|
nx.tbox( _data );
|
|
return;
|
|
}
|
|
|
|
nx.bridge.createPanel( "WndMonopoly" );
|
|
} );
|
|
|
|
};
|
|
|
|
// 一键领取
|
|
SourceJumps[ FID.OnceRewards ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndOnceRewards", _args );
|
|
};
|
|
|
|
// 一键领取
|
|
SourceJumps[ FID.OptionalGift ] = function( _args ) {
|
|
|
|
let data = nx.bridge.acts.queryThemeByType( 7 );
|
|
if( data ) {
|
|
// let args = nx.dt.objClone( data );
|
|
// args.focus = 51027;//夥伴集結
|
|
nx.bridge.createPanel( "WndActCustomGift" );
|
|
}
|
|
|
|
};
|
|
|
|
|
|
// 超凡段位赛
|
|
SourceJumps[ FID.EliteMatch ] = function( _args ) {
|
|
// nx.tbox( "NoImplementation" );
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( BattleConst.Fight_Type.EliteMatchWar );
|
|
};
|
|
|
|
// 组队竞技场
|
|
SourceJumps[ FID.Arenateam ] = function( _args ) {
|
|
nx.tbox( "NoImplementation" );
|
|
};
|
|
|
|
// 挑战
|
|
SourceJumps[ FID.Challange ] = function( _args ) {
|
|
PVPMod.getInstance().openPVPWindow( true );
|
|
};
|
|
|
|
// 阵营大战
|
|
SourceJumps[ FID.CampFitPvP ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( BattleConst.Fight_Type.newYearBoss );
|
|
};
|
|
|
|
//冠军赛跳转
|
|
SourceJumps[ FID.CrossChampion ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( BattleConst.Fight_Type.CrossChampion );
|
|
};
|
|
|
|
// 星舰 行星武器
|
|
SourceJumps[ FID.Hallows ] = function( _args ) {
|
|
HRC.getInstance().openHeroBagWindow( true, "hallows" );
|
|
};
|
|
|
|
// 排行榜跳转
|
|
SourceJumps[ FID.Rank ] = function( _args ) {
|
|
if( nx.dt.strEmpty( _args.p1 ) ) {
|
|
nx.bridge.createPanel( "WndRank", _args );
|
|
} else {
|
|
nx.bridge.createPanel( "WndRankInfo", { type: _args.p1 } );
|
|
}
|
|
|
|
};
|
|
|
|
// 试练塔跳转
|
|
SourceJumps[ FID.Tower ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 7 );
|
|
};
|
|
|
|
// 剧情副本跳转
|
|
SourceJumps[ FID.Drama ] = function( _args ) {
|
|
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 3 );
|
|
|
|
};
|
|
|
|
// // 充值商城跳转
|
|
// SourceJumps[ FID.Shop ] = function ( _args ) {
|
|
// nx.bridge.createPanel( "WndVipWnd" );
|
|
// };
|
|
|
|
// 无尽试炼跳转
|
|
SourceJumps[ FID.Endless ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 11 );
|
|
};
|
|
|
|
// pve副本跳转
|
|
SourceJumps[ FID.Esecise ] = function( _args ) {
|
|
// nx.bridge.createPanel( "WndEndlessMain", _args );
|
|
};
|
|
|
|
// 材料副本
|
|
SourceJumps[ FID.Dungeon ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 14 );
|
|
};
|
|
|
|
// 金币副本
|
|
SourceJumps[ FID.CoinDun ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 14 );
|
|
};
|
|
|
|
// 夥伴副本
|
|
SourceJumps[ FID.PartnerDun ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 14 );
|
|
};
|
|
|
|
// 星艦副本
|
|
SourceJumps[ FID.HallowDun ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 14 );
|
|
};
|
|
|
|
// 經驗副本
|
|
SourceJumps[ FID.ExpDun ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 14 );
|
|
};
|
|
|
|
// 芯片副本
|
|
SourceJumps[ FID.ChipDun ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 14 );
|
|
};
|
|
|
|
// 中心城争夺战(位面征战)
|
|
SourceJumps[ FID.Planes ] = function( _args ) {
|
|
PLAC.getInstance().sender28601();
|
|
// BTC.getInstance().requestOpenBattleRelevanceWindow( 40 );
|
|
};
|
|
|
|
// 改造
|
|
SourceJumps[ FID.Reform ] = function( _args ) {
|
|
HRC.getInstance().openHeroReformWindow( true );
|
|
};
|
|
|
|
// 置换
|
|
SourceJumps[ FID.Swap ] = function( _args ) {
|
|
HRC.getInstance().openHeroReformWindow( true, { fromOther: "swap" } );
|
|
};
|
|
|
|
// 升星
|
|
SourceJumps[ FID.UpStar ] = function( _args ) {
|
|
HRC.getInstance().openHeroReformWindow( true, { fromOther: "upstar" } );
|
|
};
|
|
|
|
// 回收
|
|
SourceJumps[ FID.Recycle ] = function( _args ) {
|
|
|
|
let needAuto = _args ? _args.needAuto : false ;
|
|
HRC.getInstance().openHeroReformWindow( true, { fromOther: "recycle", needAuto: needAuto } );
|
|
};
|
|
|
|
// 回退
|
|
SourceJumps[ FID.Back ] = function( _args ) {
|
|
//
|
|
HRC.getInstance().openHeroReformWindow( true, { fromOther: "back" } );
|
|
|
|
};
|
|
|
|
// 义肢合成
|
|
SourceJumps[ FID.Equips ] = function( _args ) {
|
|
HRC.getInstance().openHeroReformWindow( true, { fromOther: "equips" } );
|
|
};
|
|
|
|
|
|
// 芯片合成
|
|
SourceJumps[ FID.ReformArtifact ] = function( _args ) {
|
|
HRC.getInstance().openHeroReformWindow( true, { fromOther: "artifact" } );
|
|
};
|
|
|
|
// 兑换商城 模组
|
|
SourceJumps[ FID.SkillShop ] = function( _args ) {
|
|
MC.getInstance().openMallPanel( true, [ MCT.MallType.SkillShop ] );
|
|
};
|
|
|
|
// 阵营秘境
|
|
SourceJumps[ FID.PVEFactionSec ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 25 );
|
|
};
|
|
|
|
// 遗迹探索
|
|
SourceJumps[ FID.PVERuins ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 27 );
|
|
};
|
|
|
|
// 跨服竞技场
|
|
SourceJumps[ FID.CrossArena ] = function( _args ) {
|
|
nx.tbox( "NoImplementation" );
|
|
};
|
|
|
|
// 周冠军赛
|
|
SourceJumps[ FID.WeekChampion ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 31 );
|
|
};
|
|
|
|
// 周冠军商店
|
|
SourceJumps[ FID.ExchangeChamp ] = function( _args ) {
|
|
MC.getInstance().openMallPanel( true, [ MCT.MallType.ScoreShop, MCT.MallType.CrosschampionShop ] );
|
|
};
|
|
|
|
// 阵营乱斗商城
|
|
SourceJumps[ FID.CampFitShops ] = function( _args ) {
|
|
MC.getInstance().openMallPanel( true, [ MCT.MallType.ScoreShop, MCT.MallType.CampFitShop ] );
|
|
};
|
|
|
|
// 巅峰冠军赛
|
|
SourceJumps[ FID.PinnacleChamp ] = function( _args ) {
|
|
nx.tbox( "NoImplementation" );
|
|
};
|
|
|
|
// 跨服时空
|
|
SourceJumps[ FID.CrossSpace ] = function( _args ) {
|
|
nx.tbox( "NoImplementation" );
|
|
};
|
|
|
|
// 跨服天梯
|
|
SourceJumps[ FID.CrossLadder ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 18 );
|
|
};
|
|
|
|
// 兑换商城 杂货店
|
|
SourceJumps[ FID.VarietyShop ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndBlackMarket", {} );
|
|
};
|
|
|
|
// 义肢出售
|
|
SourceJumps[ FID.EquipSell ] = function( _args ) {
|
|
|
|
};
|
|
|
|
// 芯片重铸
|
|
SourceJumps[ FID.ArtifactReset ] = function( _args ) {
|
|
|
|
let data = {};
|
|
if( !nx.dt.objEmpty( _args ) ) {
|
|
data.item = _args.item;
|
|
data.config = _args.config;
|
|
data.pos = _args.pos;
|
|
}
|
|
nx.bridge.createPanel( "WndBagItemsReforgot", data );
|
|
};
|
|
|
|
// 芯片分解
|
|
SourceJumps[ FID.ArtDecompose ] = function( _args ) {
|
|
|
|
};
|
|
|
|
// 芯片穿戴
|
|
SourceJumps[ FID.ArtWear ] = function( _args ) {
|
|
HRC.getInstance().openHeroBagWindow( true );
|
|
};
|
|
|
|
// 新手训练
|
|
SourceJumps[ FID.NewTrain ] = function( _args ) {
|
|
BTC.getInstance().requestOpenBattleRelevanceWindow( 36 );
|
|
};
|
|
|
|
// 更換頭像
|
|
SourceJumps[ FID.ChangeHead ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndPersonalAvatarChange", { fromOther: 0 } );
|
|
};
|
|
|
|
// 更換頭像框
|
|
SourceJumps[ FID.ChangeAframe ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndPersonalAvatarChange", { fromOther: 1 } );
|
|
};
|
|
|
|
// 更換聊天氣泡介面
|
|
SourceJumps[ FID.ChangeChatBg ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndPersonalAvatarChange", { fromOther: 2 } );
|
|
};
|
|
|
|
// 更換徽章
|
|
SourceJumps[ FID.ChangeHoner ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndPersonalAvatarChange", { fromOther: 3 } );
|
|
};
|
|
|
|
// 成长自选商城
|
|
SourceJumps[ FID.GrowthShop ] = function( _args ) {
|
|
nx.tbox( "NoImplementation" );
|
|
};
|
|
|
|
// 无尽试炼buff选择
|
|
SourceJumps[ FID.EndlessBuff ] = function( _args ) {
|
|
// nx.tbox( "NoImplementation" );
|
|
EDC.getInstance().openEndlessBuffView( true, EDC.getInstance().cache_buff_data );
|
|
};
|
|
|
|
// 战斗义肢
|
|
SourceJumps[ FID.HolyEquips ] = function( _args ) {
|
|
nx.tbox( "NoImplementation" );
|
|
};
|
|
|
|
// 皮肤
|
|
SourceJumps[ FID.Skin ] = function( _args ) {
|
|
|
|
HRC.getInstance().openHeroBagWindow( true );
|
|
|
|
};
|
|
|
|
// 邮箱跳转
|
|
SourceJumps[ FID.Mail ] = function( _args ) {
|
|
|
|
MailMod.getInstance().openMailUI( true, _args );
|
|
|
|
};
|
|
|
|
// 聊天跳转
|
|
SourceJumps[ FID.Chat ] = function( _args ) {
|
|
//
|
|
ChatController.getInstance().openChatPanel( true, _args );
|
|
|
|
};
|
|
|
|
// 聯盟天賦
|
|
SourceJumps[ FID.GuildTalent ] = function( _args ) {
|
|
//
|
|
nx.bridge.createPanel( "WndGuildTalent" );
|
|
|
|
};
|
|
|
|
// 家園基礎核心
|
|
SourceJumps[ FID.BaseKernel ] = function( _args ) {
|
|
//
|
|
nx.bridge.createPanel( "WndKernelMain" );
|
|
|
|
};
|
|
|
|
// ================================================================
|
|
// 道具操作选项跳转( BackpackConst.tips_btn_type )
|
|
// ================================================================
|
|
const ItemOpJumps = {};
|
|
|
|
// 自选礼包批量操作使用
|
|
ItemOpJumps[ BBT.SectMoreUse ] = function( _config, _item ) {
|
|
|
|
// 普通使用
|
|
// if( _config.use_type != BUT.BATCH_USE ) {
|
|
// BKC.getInstance().sender10515( _item.id, 1 );
|
|
// return;
|
|
// }
|
|
|
|
// 自选礼包
|
|
if( _config.type == BIT.FREE_GIFT ) {
|
|
BKC.getInstance().openGiftSelectMorePanel( _item );
|
|
return;
|
|
}
|
|
|
|
// 直接/批量使用
|
|
// let count = _item.quantity;
|
|
// if( count == 1 ) {
|
|
// BKC.getInstance().sender10515( _item.id, 1 );
|
|
// } else {
|
|
// BKC.getInstance().openBatchUseItemView( true, _item );
|
|
// }
|
|
|
|
};
|
|
|
|
// 普通物品使用
|
|
ItemOpJumps[ BBT.goods_use ] = function( _config, _item ) {
|
|
|
|
// 普通使用
|
|
if( _config.use_type != BUT.BATCH_USE ) {
|
|
BKC.getInstance().sender10515( _item.id, 1 );
|
|
return;
|
|
}
|
|
|
|
// 自选礼包
|
|
if( _config.type == BIT.FREE_GIFT ) {
|
|
BKC.getInstance().openGiftSelectPanel( _item );
|
|
return;
|
|
}
|
|
|
|
// 直接/批量使用
|
|
let count = _item.quantity;
|
|
if( count == 1 ) {
|
|
BKC.getInstance().sender10515( _item.id, 1 );
|
|
} else {
|
|
BKC.getInstance().openBatchUseItemView( true, _item );
|
|
}
|
|
|
|
};
|
|
|
|
// 皮膚碎片合成
|
|
ItemOpJumps[ BBT.SkinCompound ] = function( _config, _item ) {
|
|
if( _item ) {
|
|
BKC.getInstance().reqSkinCombine( _item.base_id );
|
|
}
|
|
};
|
|
|
|
// 道具使用 魔方招募跳转
|
|
ItemOpJumps[ BBT.call_source ] = function( _config, _item ) {
|
|
nx.bridge.createPanel( "WndSummon" );
|
|
};
|
|
|
|
// 道具出售
|
|
ItemOpJumps[ BBT.item_sell ] = function( _config, _item ) {
|
|
BKC.getInstance().openItemSellPanel( true, _item, BBC.BACKPACK );
|
|
};
|
|
|
|
// 道具出售 模组出售
|
|
ItemOpJumps[ BBT.talent_sell ] = function( _config, _item ) {
|
|
BKC.getInstance().openItemSellPanel( true, _item, BBC.BACKPACK );
|
|
};
|
|
|
|
// 跳转竞技场
|
|
ItemOpJumps[ BBT.arena_source ] = function( _config, _item ) {
|
|
nx.bridge.createPanel( "WndArenaLoopChallenge" );
|
|
},
|
|
|
|
// 戰鬥義肢 洗練
|
|
ItemOpJumps[ BBT.GodEquipmentReMake ] = function( _config, _item ) {
|
|
|
|
|
|
nx.bridge.createPanel( "WndPartnerHolyRefinement", {
|
|
eqm: _config,
|
|
partner: 0
|
|
} );
|
|
},
|
|
|
|
// 英雄碎片合成
|
|
ItemOpJumps[ BBT.hecheng ] = function( _config, _item ) {
|
|
|
|
let count = gdata( "partner_data", "data_get_compound_info", _item.base_id ).num;
|
|
if( _item.quantity < count ) {
|
|
nx.tbox( nx.text.getKey( "tip_noEnoughMaterial" ) );
|
|
return;
|
|
}
|
|
BKC.getInstance().openItemMergePanel( true, _item, BBC.BACKPACK );
|
|
};
|
|
|
|
// 跳转英雄信息界面
|
|
ItemOpJumps[ BBT.hero_source ] = function( _config, _item ) {
|
|
HRC.getInstance().openHeroBagWindow( true );
|
|
};
|
|
|
|
// 查看--跳转单角色预览界面
|
|
ItemOpJumps[ BBT.JumpToSingleHero ] = function( _config, _item ) {
|
|
HRC.getInstance().openPartnerItem( true, _config.effect[ 0 ].val, _config.quality + 1 );
|
|
};
|
|
|
|
// 符文:穿戴
|
|
ItemOpJumps[ BBT.RuneEquip ] = function( _config, _item ) {
|
|
HRC.getInstance().openHeroBagWindow( true );
|
|
};
|
|
|
|
// 符文:分解
|
|
ItemOpJumps[ BBT.RuneSell ] = function( _config, _item ) {
|
|
BKC.getInstance().openItemDecomposePanel( true, _item, BBC.BACKPACK );
|
|
};
|
|
|
|
// 符文:重铸
|
|
ItemOpJumps[ BBT.RuneReMake ] = function( _config, _item ) {
|
|
nx.bridge.createPanel( "WndBagItemsReforgot", { item: _item, config: _config } );
|
|
};
|
|
|
|
// 符文:升星改造
|
|
ItemOpJumps[ BBT.RuneUpStar ] = function( _config, _item ) {
|
|
HRC.getInstance().openHeroReformWindow( true, _item );
|
|
};
|
|
|
|
// 跳轉到精靈古樹(使用古樹培養道具)
|
|
ItemOpJumps[ BBT.elfin_rouse ] = function( _config, _item ) {
|
|
HRC.getInstance().openHeroBagWindow( true, BBC.BACKPACK );
|
|
};
|
|
|
|
// 跳轉到精靈孵化(使用精靈蛋或孵化道具)
|
|
ItemOpJumps[ BBT.elfin_hatch ] = function( _config, _item ) {
|
|
|
|
let model = EFC.getInstance().getModel();
|
|
let lst = model.getElfinHatchList();
|
|
if( !lst || nx.dt.objEmpty( lst ) ) {
|
|
EFC.getInstance().sender26500();
|
|
}
|
|
|
|
EFC.getInstance().openWingScientfic( true, BBC.BACKPACK );
|
|
};
|
|
|
|
// 僚机:跳转主界面
|
|
ItemOpJumps[ BBT.JumpToWingman ] = function( _config, _item ) {
|
|
HRC.getInstance().openHeroBagWindow( true, BBC.BACKPACK );
|
|
};
|
|
|
|
// 精靈蛋合成
|
|
ItemOpJumps[ BBT.elfin_egg_synthetic ] = function( _config, _item ) {
|
|
|
|
let needCount = game.configs.sprite_data.data_const.liaoji_materials.val[ 1 ];
|
|
if( _item.quantity < needCount ) {
|
|
nx.tbox( nx.text.getKey( "tip_noEnoughMaterial" ) );
|
|
return;
|
|
}
|
|
|
|
EFC.getInstance().openElfinEggSyntheticPanel( true, _item.base_id );
|
|
};
|
|
|
|
// 道具 芯片数据:跳转兑换商城
|
|
ItemOpJumps[ BBT.UseExchange ] = function( _config, _item ) {
|
|
|
|
MC.getInstance().openMallPanel( true, [ MCT.MallType.SkillShop ] );
|
|
|
|
};
|
|
|
|
// ================================================================
|
|
// 活动跳转
|
|
// ================================================================
|
|
|
|
// 活动主题入口功能跳转
|
|
const openThemeEntry = function( _theme, _focusCamp = 0 ) {
|
|
|
|
// 无效主题
|
|
if( !_theme ||
|
|
!nx.dt.numPositive( _theme.theme_id, false ) ) {
|
|
nx.error( "活动主题入口功能跳转!" );
|
|
return false;
|
|
}
|
|
|
|
let args = nx.dt.objClone( _theme );
|
|
if( nx.dt.numPositive( _focusCamp, false ) ) {
|
|
args.focus = _focusCamp;
|
|
}
|
|
|
|
// 特定主题
|
|
if( nx.dt.numPositive( args.skin_id, false ) ) {
|
|
let wid = `WndThemeEntry${ args.skin_id }`;
|
|
nx.bridge.createPanel( wid, args );
|
|
return;
|
|
}
|
|
|
|
// 默认主题
|
|
nx.bridge.createPanel( "WndActs", args );
|
|
return true;
|
|
};
|
|
|
|
// 八日约定
|
|
SourceJumps[ FID.ActAppoint8 ] = function( _args ) {
|
|
|
|
nx.bridge.createPanel( "WndAppoint8" );
|
|
|
|
};
|
|
|
|
// 七日特训
|
|
SourceJumps[ FID.ActTrain7 ] = function( _args ) {
|
|
|
|
nx.bridge.createPanel( "WndActTraining7", _args );
|
|
|
|
};
|
|
|
|
// 限時挑戰
|
|
SourceJumps[ FID.PartChallenge ] = function( _args ) {
|
|
|
|
let acts = nx.bridge.acts.acts;
|
|
let showcamp = null;
|
|
if( acts ) {
|
|
for( let a in acts ) {
|
|
let act = acts[ a ];
|
|
if( act.data.source == FID.PartChallenge ) {
|
|
showcamp = act.data;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if( showcamp ) {
|
|
jump2ActTheme( showcamp.theme_id, showcamp.camp_id );
|
|
}
|
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
// 星空祈愿
|
|
SourceJumps[ FID.ActStarry ] = function( _args ) {
|
|
let data = nx.bridge.acts.queryThemeByType( 1 );
|
|
if( data ) {
|
|
// let args = nx.dt.objClone( data );
|
|
// args.focus = 1002;
|
|
// nx.bridge.createPanel( "WndActs", args );
|
|
}
|
|
};
|
|
|
|
// 每日助力
|
|
SourceJumps[ FID.ActDFirst ] = function( _args ) {
|
|
|
|
let data = nx.bridge.acts.queryThemeByType( 12 );
|
|
if( data ) {
|
|
nx.bridge.createPanel( "WndActDailyFirst" );
|
|
}
|
|
|
|
};
|
|
|
|
// 每日签到
|
|
SourceJumps[ FID.ActMonthlySign ] = function( _args ) {
|
|
let data = nx.bridge.acts.queryThemeByType( 3 );
|
|
if( data ) {
|
|
let args = nx.dt.objClone( data );
|
|
args.focus = 51005;
|
|
nx.bridge.createPanel( "WndActs", args );
|
|
}
|
|
};
|
|
|
|
// 成長基金
|
|
SourceJumps[ FID.ActFund ] = function( _args ) {
|
|
let data = nx.bridge.acts.queryThemeByType( 3 );
|
|
if( data ) {
|
|
let args = nx.dt.objClone( data );
|
|
args.focus = 51000;
|
|
nx.bridge.createPanel( "WndActs", args );
|
|
}
|
|
};
|
|
|
|
//首充好禮
|
|
SourceJumps[ FID.ActFirst ] = function( _args ) {
|
|
let data = nx.bridge.acts.queryThemeByType( 4 );
|
|
if( data ) {
|
|
let args = nx.dt.objClone( data );
|
|
args.focus = 51001;//首充禮包
|
|
nx.bridge.createPanel( "WndFirstCharge", args );
|
|
}
|
|
};
|
|
|
|
//月卡
|
|
SourceJumps[ FID.MonthCard ] = function( _args ) {
|
|
let data = nx.bridge.acts.queryThemeByType( 3 );
|
|
if( data ) {
|
|
let args = nx.dt.objClone( data );
|
|
args.focus = 50002; //月卡
|
|
nx.bridge.createPanel( "WndActs", args );
|
|
}
|
|
};
|
|
|
|
//神秘人寶藏
|
|
SourceJumps[ FID.ActTreasure ] = function( _args ) {
|
|
let data = nx.bridge.acts.queryThemeByType( 3 );
|
|
if( data ) {
|
|
let args = nx.dt.objClone( data );
|
|
args.focus = 51004;//神秘人寶藏
|
|
nx.bridge.createPanel( "WndActs", args );
|
|
}
|
|
};
|
|
|
|
//殘骸收集
|
|
SourceJumps[ FID.ActRocketCol ] = function( _args ) {
|
|
let data = nx.bridge.acts.queryThemeByType( 1 );
|
|
if( data ) {
|
|
let args = nx.dt.objClone( data );
|
|
args.focus = 1007;//殘骸收集
|
|
nx.bridge.createPanel( "WndWreckageCol", args );
|
|
}
|
|
};
|
|
|
|
//翻倍紅包
|
|
SourceJumps[ FID.ActDoubleRed ] = function( _args ) {
|
|
let data = nx.bridge.acts.queryThemeByType( 1 );
|
|
if( data ) {
|
|
let args = nx.dt.objClone( data );
|
|
args.focus = 1009;//翻倍紅包
|
|
nx.bridge.createPanel( "WndActDoubleRedpacketPop", args );
|
|
}
|
|
};
|
|
|
|
//成長衝刺
|
|
SourceJumps[ FID.ActGrowthRush ] = function( _args ) {
|
|
let data = nx.bridge.acts.queryThemeByType( 1 );
|
|
if( data ) {
|
|
nx.bridge.createPanel( "WndGrowthRush" );
|
|
}
|
|
};
|
|
|
|
//夥伴集結
|
|
SourceJumps[ FID.ActAssemble ] = function( _args ) {
|
|
let data = nx.bridge.acts.queryThemeByType( 1 );
|
|
if( data ) {
|
|
let args = nx.dt.objClone( data );
|
|
args.focus = 1005;//夥伴集結
|
|
nx.bridge.createPanel( "WndActs", args );
|
|
}
|
|
};
|
|
|
|
//起航專享
|
|
SourceJumps[ FID.ActExclusive ] = function( _args ) {
|
|
let data = nx.bridge.acts.queryThemeByType( 1 );
|
|
if( data ) {
|
|
let args = nx.dt.objClone( data );
|
|
args.focus = 1005;//夥伴集結
|
|
nx.bridge.createPanel( "WndExclusive", args );
|
|
}
|
|
};
|
|
|
|
//夥伴集結
|
|
SourceJumps[ FID.ActAccumulative ] = function( _args ) {
|
|
let data = nx.bridge.acts.queryThemeByType( 1 );
|
|
if( data ) {
|
|
// let args = nx.dt.objClone( data );
|
|
// args.focus = 1005;//夥伴集結
|
|
nx.bridge.createPanel( "WndAccumulative" );
|
|
}
|
|
};
|
|
|
|
//限時特惠
|
|
SourceJumps[ FID.ActLimitedTime ] = function( _args ) {
|
|
let data = nx.bridge.acts.queryThemeByType( 8 );
|
|
if( data ) {
|
|
// let args = nx.dt.objClone( data );
|
|
// args.focus = 1005;//夥伴集結
|
|
nx.bridge.createPanel( "WndLimitedTimeOffer" );
|
|
}
|
|
};
|
|
|
|
SourceJumps[ FID.NewLimitGift ] = function( _args ) {
|
|
let data = nx.bridge.acts.queryThemeByType( 8 );
|
|
if( data ) {
|
|
let args = nx.dt.objClone( data );
|
|
args.focus = 51027;
|
|
nx.bridge.createPanel( "WndActs", args );
|
|
}
|
|
};
|
|
|
|
//夥伴自選
|
|
SourceJumps[ FID.ActOptional ] = function( _args ) {
|
|
let data = nx.bridge.acts.queryThemeByType( 1 );
|
|
if( data ) {
|
|
let args = nx.dt.objClone( data );
|
|
args.focus = 1010;//陣營自選
|
|
nx.bridge.createPanel( "WndActs", args );
|
|
}
|
|
};
|
|
|
|
//升星好礼
|
|
SourceJumps[ FID.ActUpGradeStar ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndActUpstar", _args );
|
|
};
|
|
|
|
//升星计划
|
|
SourceJumps[ FID.TagUpStar ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndActHeroUpstar", _args );
|
|
};
|
|
|
|
//星空許願
|
|
SourceJumps[ FID.ActStarPray ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndActStarSkyPray", _args );
|
|
};
|
|
|
|
// 限時好禮
|
|
SourceJumps[ FID.ActLimitGift ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndLimitGift", _args );
|
|
};
|
|
|
|
// 七日定制
|
|
SourceJumps[ FID.SevenCustomGift ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndActSevenCustomGift", _args );
|
|
};
|
|
|
|
//星界初体验
|
|
SourceJumps[ FID.StarHeroTrial ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndActPartnertrial", _args );
|
|
};
|
|
|
|
//银河奇遇
|
|
SourceJumps[ FID.StarUserTramp ] = function( _args ) {
|
|
// nx.bridge.createPanel( "WndActEncounter", _args );
|
|
};
|
|
|
|
//星界密令
|
|
SourceJumps[ FID.StarOrder ] = function( _args ) {
|
|
|
|
let params = _args.theme;
|
|
params.focus = _args.args.camp_id;
|
|
nx.bridge.createPanel( "WndActs", params );
|
|
};
|
|
|
|
//远航见闻录&传说秘典
|
|
SourceJumps[ FID.SevenGoal ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndActsSevenGoals", _args );
|
|
};
|
|
|
|
//群星轨迹(战令)
|
|
SourceJumps[ FID.ActStarTravel ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndActStarTravel", _args );
|
|
// let data = nx.bridge.acts.queryThemeByType(5);
|
|
// if( data ) {
|
|
// let args = nx.dt.objClone( data );
|
|
// nx.bridge.createPanel( "WndActs", args );
|
|
// }
|
|
};
|
|
|
|
// 神秘人商城
|
|
SourceJumps[ FID.ActMySteryGift ] = function( _args ) {
|
|
|
|
let data = nx.bridge.acts.queryThemeByType( 13 );
|
|
if( data ) {
|
|
// let args = nx.dt.objClone( data );
|
|
// args.focus = 1010;//陣營自選
|
|
nx.bridge.createPanel( "WndActMySteryShop", _args );
|
|
}
|
|
|
|
};
|
|
|
|
// 日常 活躍抽獎
|
|
SourceJumps[ FID.ActDTreasure ] = function( _args ) {
|
|
nx.bridge.createPanel( "WndActDailyTreasure", _args );
|
|
};
|
|
|
|
// ============================================================
|
|
// 主题活动模板界面跳转
|
|
// ============================================================
|
|
|
|
// 皮肤模板界面跳转
|
|
const jumpSkinPanel = function( _wid, _skin, _args ) {
|
|
|
|
if( nx.dt.strEmpty( _wid ) ||
|
|
nx.dt.strEmpty( _skin ) ||
|
|
nx.dt.objEmpty( _args ) ) {
|
|
nx.error( `$JumpSkinPanel:跳转失败,参数不全! ${ _wid }` );
|
|
return;
|
|
}
|
|
|
|
_args.__keys = { skin: _skin };
|
|
nx.bridge.createPanel( _wid, _args );
|
|
};
|
|
|
|
// 活动模板:十五日签到活动
|
|
SourceJumps[ FID.Sign15Days ] = function( _args = {} ) {
|
|
let skin = _args.theme ? "" + _args.theme.skin_id : "";
|
|
jumpSkinPanel( "WndActTSign15", skin, _args );
|
|
};
|
|
|
|
// ================================================================
|
|
// 对外接口
|
|
// ================================================================
|
|
|
|
// 来源条件检查
|
|
const checkSource = function( _sourceId ) {
|
|
|
|
// 无效ID
|
|
if( !nx.dt.numPositive( _sourceId, false ) ) {
|
|
return;
|
|
}
|
|
|
|
// 配置验证
|
|
let cfgs = game.configs.source_data.data_source_data[ _sourceId ];
|
|
if( !cfgs ) {
|
|
nx.error( "无效的跳转编号:", _sourceId );
|
|
return;
|
|
}
|
|
|
|
// 功能判断
|
|
let ret = nx.bridge.checkConditions( cfgs.lev_limit );
|
|
if( nx.dt.objNEmpty( ret ) ) {
|
|
ret.desc = nx.text.getKey( cfgs.desc1 ) || ret.desc;
|
|
}
|
|
|
|
return ret;
|
|
};
|
|
|
|
// 资产类获取
|
|
const jump2GetAsset = function( _key ) {
|
|
|
|
let fn = KeyJumps[ _key ];
|
|
if( !nx.dt.fnGood( fn ) ) {
|
|
nx.warn( "尚未处理的资产类获取:", _key );
|
|
return false;
|
|
}
|
|
|
|
return fn();
|
|
};
|
|
|
|
// 来源UI跳转
|
|
const jump2Window = function( _sourceId, _args ) {
|
|
|
|
// 功能判断
|
|
let ret = checkSource( _sourceId );
|
|
if( nx.dt.objNEmpty( ret ) ) {
|
|
nx.tbox( ret.desc );
|
|
return false;
|
|
}
|
|
|
|
// 执行处理函数
|
|
let fn = SourceJumps[ _sourceId ];
|
|
if( !nx.dt.fnGood( fn ) ) {
|
|
nx.error( "尚未处理来源跳转:", _sourceId );
|
|
return false;
|
|
}
|
|
|
|
return fn( _args );
|
|
};
|
|
|
|
// 来源UI跳转
|
|
const jump2WindowByKey = function( _sourceKey, _args ) {
|
|
|
|
let DATA = game.configs.source_data.data_source_data;
|
|
for( let id in DATA ) {
|
|
let CFG = DATA[ id ];
|
|
if( CFG && CFG.evt_type == _sourceKey ) {
|
|
return jump2Window( id, _args );
|
|
}
|
|
}
|
|
|
|
nx.error( "尚未处理来源跳转:", _sourceKey );
|
|
return false;
|
|
};
|
|
|
|
// 道具获取跳转
|
|
const jumpGetItem = function( _itemId ) {
|
|
|
|
// 无效ID
|
|
if( !nx.dt.numPositive( _itemId, false ) ) {
|
|
return false;
|
|
}
|
|
|
|
// 资产类查询
|
|
let key = game.configs.item_data.data_assets_id2label[ _itemId ];
|
|
if( nx.dt.strNEmpty( key ) && jump2GetAsset( key ) ) {
|
|
return true;
|
|
}
|
|
|
|
// 道具类跳转界面
|
|
let TC = require( "tips_controller" );
|
|
if( TC && TC.getInstance() ) {
|
|
TC.getInstance().showItemTips( _itemId );
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
|
|
};
|
|
|
|
// 道具操作跳转( BackpackConst.tips_btn_type )
|
|
const jumpOpItem = function( _optype, _args ) {
|
|
|
|
let fn = ItemOpJumps[ _optype ];
|
|
if( !nx.dt.fnGood( fn ) ) {
|
|
nx.warn( "尚未处理的道具操作跳转:", _optype );
|
|
return false;
|
|
}
|
|
|
|
return fn( _args.config, _args.item );
|
|
};
|
|
|
|
// 跳转指定主题
|
|
const jump2ActTheme = function( _theme_id, _camp_id ) {
|
|
|
|
if( !nx.bridge.acts ) {
|
|
nx.warn( "跳转指定主题失败:", _theme_id );
|
|
return false;
|
|
}
|
|
|
|
let theme = nx.bridge.acts.queryTheme( _theme_id );
|
|
if( nx.dt.objEmpty( theme ) ) {
|
|
nx.warn( "跳转指定主题失败:", _theme_id );
|
|
return false;
|
|
}
|
|
|
|
openThemeEntry( theme, _camp_id );
|
|
};
|
|
|
|
// 跳转指定活动
|
|
const jump2ActPage = function( _camp_id ) {
|
|
|
|
if( !nx.bridge.acts ) {
|
|
nx.warn( "跳转指定活动失败:", _camp_id );
|
|
return false;
|
|
}
|
|
|
|
let ret = nx.bridge.acts.searchAct( _camp_id );
|
|
if( nx.dt.objEmpty( ret ) ) {
|
|
nx.warn( "跳转指定活动失败:", _camp_id );
|
|
return false;
|
|
}
|
|
|
|
// 判断是否走功能编号
|
|
if( SourceJumps[ ret.infos.source ] ) {
|
|
jump2Window( ret.infos.source, { theme : ret.theme, args : ret.infos } );
|
|
return;
|
|
}
|
|
|
|
// 走默认活动页
|
|
jump2ActTheme( ret.theme.theme_id, _camp_id );
|
|
};
|
|
|
|
// 导出
|
|
module.exports = {
|
|
checkSource,
|
|
jump2Window,
|
|
jump2WindowByKey,
|
|
jump2GetAsset,
|
|
jumpGetItem,
|
|
jumpOpItem,
|
|
jump2ActTheme,
|
|
jump2ActPage,
|
|
}; |