Files
fc/dev/project/library/imports/a2/a26302f6-a17a-4789-9444-26b7edc5dc57.js
2026-05-24 10:21:26 +08:00

1339 lines
34 KiB
JavaScript

"use strict";
cc._RF.push(module, 'a2630L2oXpHiZREJrftxdxX', 'bridge.jumper');
// Scripts/zbridge/utils/bridge.jumper.js
"use strict";
// ================================================================
//
// 桥接 跳转
//
// ================================================================
var HRC = require("hero_controller");
var ROC = require("role_controller");
var EXC = require("exchange_controller");
var VIP = require("vip_controller");
var EFC = require("elfin_controller");
var EDC = require("endless_trail_controller");
var BTC = require("battle_controller");
var PLAC = require("planesafk_controller");
var FID = require("bridge.function.ids");
var MC = require("mall_controller");
var MailMod = require("mail.mod");
var ChatController = require("chat_controller");
var PVPMod = require("pvp.mod");
var BKC = require("backpack_controller");
var BPC = require("backpack_const");
var MCT = require("mall_const");
var BattleConst = require("battle_const");
var BBT = BPC.tips_btn_type;
var BBC = BPC.Bag_Code;
var BUT = BPC.item_use_type;
var BIT = BPC.item_type;
var BTT = BPC.item_sub_type;
// ================================================================
// 关键字跳转
// ================================================================
var 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;
};
// ================================================================
// 来源跳转
// ================================================================
var SourceJumps = {};
// 召唤跳转
SourceJumps[FID.Summon] = function (_args) {
nx.bridge.createPanel("WndSummon", _args);
};
// 召唤跳转
SourceJumps[FID.SummonInfinite] = function (_args) {
var args = _args || {};
args.key = "infinite";
nx.bridge.createPanel("WndSummon", args);
};
// 召唤跳转
SourceJumps[FID.SummonStepUp] = function (_args) {
var args = _args || {};
args.key = "step";
nx.bridge.createPanel("WndSummon", args);
};
// 水晶召唤
SourceJumps[FID.SummonCrystal] = function (_args) {
var args = _args || {};
args.key = "crystal";
nx.bridge.createPanel("WndSummon", args);
};
// 兑换 道具商店跳转
SourceJumps[FID.Shop] = function (_args) {
var args = _args;
if (args) {
var 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;
}
}
var p1 = _args.p1;
var 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) {
var acts = nx.bridge.acts.acts;
var showcamp = null;
if (acts) {
for (var a in acts) {
var 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) {
var 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) {
var acts = nx.bridge.acts.acts;
var showcamp = null;
if (acts) {
for (var a in acts) {
var 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) {
var Mono = require("monopoly.mod");
var ret = Mono.getInstance().checkLock();
if (nx.dt.objNEmpty(ret)) {
nx.tbox(ret.desc);
return;
}
// 信息请求
Mono.getInstance().fetchData(function (_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) {
var 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) {
var 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) {
var 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 )
// ================================================================
var 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;
}
// 直接/批量使用
var 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) {
var 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) {
var model = EFC.getInstance().getModel();
var 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) {
var 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]);
};
// ================================================================
// 活动跳转
// ================================================================
// 活动主题入口功能跳转
var openThemeEntry = function openThemeEntry(_theme, _focusCamp) {
if (_focusCamp === void 0) {
_focusCamp = 0;
}
// 无效主题
if (!_theme || !nx.dt.numPositive(_theme.theme_id, false)) {
nx.error("活动主题入口功能跳转!");
return false;
}
var args = nx.dt.objClone(_theme);
if (nx.dt.numPositive(_focusCamp, false)) {
args.focus = _focusCamp;
}
// 特定主题
if (nx.dt.numPositive(args.skin_id, false)) {
var 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) {
var acts = nx.bridge.acts.acts;
var showcamp = null;
if (acts) {
for (var a in acts) {
var 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) {
var 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) {
var data = nx.bridge.acts.queryThemeByType(12);
if (data) {
nx.bridge.createPanel("WndActDailyFirst");
}
};
// 每日签到
SourceJumps[FID.ActMonthlySign] = function (_args) {
var data = nx.bridge.acts.queryThemeByType(3);
if (data) {
var args = nx.dt.objClone(data);
args.focus = 51005;
nx.bridge.createPanel("WndActs", args);
}
};
// 成長基金
SourceJumps[FID.ActFund] = function (_args) {
var data = nx.bridge.acts.queryThemeByType(3);
if (data) {
var args = nx.dt.objClone(data);
args.focus = 51000;
nx.bridge.createPanel("WndActs", args);
}
};
//首充好禮
SourceJumps[FID.ActFirst] = function (_args) {
var data = nx.bridge.acts.queryThemeByType(4);
if (data) {
var args = nx.dt.objClone(data);
args.focus = 51001; //首充禮包
nx.bridge.createPanel("WndFirstCharge", args);
}
};
//月卡
SourceJumps[FID.MonthCard] = function (_args) {
var data = nx.bridge.acts.queryThemeByType(3);
if (data) {
var args = nx.dt.objClone(data);
args.focus = 50002; //月卡
nx.bridge.createPanel("WndActs", args);
}
};
//神秘人寶藏
SourceJumps[FID.ActTreasure] = function (_args) {
var data = nx.bridge.acts.queryThemeByType(3);
if (data) {
var args = nx.dt.objClone(data);
args.focus = 51004; //神秘人寶藏
nx.bridge.createPanel("WndActs", args);
}
};
//殘骸收集
SourceJumps[FID.ActRocketCol] = function (_args) {
var data = nx.bridge.acts.queryThemeByType(1);
if (data) {
var args = nx.dt.objClone(data);
args.focus = 1007; //殘骸收集
nx.bridge.createPanel("WndWreckageCol", args);
}
};
//翻倍紅包
SourceJumps[FID.ActDoubleRed] = function (_args) {
var data = nx.bridge.acts.queryThemeByType(1);
if (data) {
var args = nx.dt.objClone(data);
args.focus = 1009; //翻倍紅包
nx.bridge.createPanel("WndActDoubleRedpacketPop", args);
}
};
//成長衝刺
SourceJumps[FID.ActGrowthRush] = function (_args) {
var data = nx.bridge.acts.queryThemeByType(1);
if (data) {
nx.bridge.createPanel("WndGrowthRush");
}
};
//夥伴集結
SourceJumps[FID.ActAssemble] = function (_args) {
var data = nx.bridge.acts.queryThemeByType(1);
if (data) {
var args = nx.dt.objClone(data);
args.focus = 1005; //夥伴集結
nx.bridge.createPanel("WndActs", args);
}
};
//起航專享
SourceJumps[FID.ActExclusive] = function (_args) {
var data = nx.bridge.acts.queryThemeByType(1);
if (data) {
var args = nx.dt.objClone(data);
args.focus = 1005; //夥伴集結
nx.bridge.createPanel("WndExclusive", args);
}
};
//夥伴集結
SourceJumps[FID.ActAccumulative] = function (_args) {
var 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) {
var 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) {
var data = nx.bridge.acts.queryThemeByType(8);
if (data) {
var args = nx.dt.objClone(data);
args.focus = 51027;
nx.bridge.createPanel("WndActs", args);
}
};
//夥伴自選
SourceJumps[FID.ActOptional] = function (_args) {
var data = nx.bridge.acts.queryThemeByType(1);
if (data) {
var 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) {
var 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) {
var 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);
};
// ============================================================
// 主题活动模板界面跳转
// ============================================================
// 皮肤模板界面跳转
var jumpSkinPanel = function jumpSkinPanel(_wid, _skin, _args) {
if (nx.dt.strEmpty(_wid) || nx.dt.strEmpty(_skin) || nx.dt.objEmpty(_args)) {
nx.error("$JumpSkinPanel:\u8DF3\u8F6C\u5931\u8D25,\u53C2\u6570\u4E0D\u5168! " + _wid);
return;
}
_args.__keys = {
skin: _skin
};
nx.bridge.createPanel(_wid, _args);
};
// 活动模板:十五日签到活动
SourceJumps[FID.Sign15Days] = function (_args) {
if (_args === void 0) {
_args = {};
}
var skin = _args.theme ? "" + _args.theme.skin_id : "";
jumpSkinPanel("WndActTSign15", skin, _args);
};
// ================================================================
// 对外接口
// ================================================================
// 来源条件检查
var checkSource = function checkSource(_sourceId) {
// 无效ID
if (!nx.dt.numPositive(_sourceId, false)) {
return;
}
// 配置验证
var cfgs = game.configs.source_data.data_source_data[_sourceId];
if (!cfgs) {
nx.error("无效的跳转编号:", _sourceId);
return;
}
// 功能判断
var ret = nx.bridge.checkConditions(cfgs.lev_limit);
if (nx.dt.objNEmpty(ret)) {
ret.desc = nx.text.getKey(cfgs.desc1) || ret.desc;
}
return ret;
};
// 资产类获取
var jump2GetAsset = function jump2GetAsset(_key) {
var fn = KeyJumps[_key];
if (!nx.dt.fnGood(fn)) {
nx.warn("尚未处理的资产类获取:", _key);
return false;
}
return fn();
};
// 来源UI跳转
var jump2Window = function jump2Window(_sourceId, _args) {
// 功能判断
var ret = checkSource(_sourceId);
if (nx.dt.objNEmpty(ret)) {
nx.tbox(ret.desc);
return false;
}
// 执行处理函数
var fn = SourceJumps[_sourceId];
if (!nx.dt.fnGood(fn)) {
nx.error("尚未处理来源跳转:", _sourceId);
return false;
}
return fn(_args);
};
// 来源UI跳转
var jump2WindowByKey = function jump2WindowByKey(_sourceKey, _args) {
var DATA = game.configs.source_data.data_source_data;
for (var id in DATA) {
var CFG = DATA[id];
if (CFG && CFG.evt_type == _sourceKey) {
return jump2Window(id, _args);
}
}
nx.error("尚未处理来源跳转:", _sourceKey);
return false;
};
// 道具获取跳转
var jumpGetItem = function jumpGetItem(_itemId) {
// 无效ID
if (!nx.dt.numPositive(_itemId, false)) {
return false;
}
// 资产类查询
var key = game.configs.item_data.data_assets_id2label[_itemId];
if (nx.dt.strNEmpty(key) && jump2GetAsset(key)) {
return true;
}
// 道具类跳转界面
var TC = require("tips_controller");
if (TC && TC.getInstance()) {
TC.getInstance().showItemTips(_itemId);
return true;
}
return false;
};
// 道具操作跳转( BackpackConst.tips_btn_type )
var jumpOpItem = function jumpOpItem(_optype, _args) {
var fn = ItemOpJumps[_optype];
if (!nx.dt.fnGood(fn)) {
nx.warn("尚未处理的道具操作跳转:", _optype);
return false;
}
return fn(_args.config, _args.item);
};
// 跳转指定主题
var jump2ActTheme = function jump2ActTheme(_theme_id, _camp_id) {
if (!nx.bridge.acts) {
nx.warn("跳转指定主题失败:", _theme_id);
return false;
}
var theme = nx.bridge.acts.queryTheme(_theme_id);
if (nx.dt.objEmpty(theme)) {
nx.warn("跳转指定主题失败:", _theme_id);
return false;
}
openThemeEntry(theme, _camp_id);
};
// 跳转指定活动
var jump2ActPage = function jump2ActPage(_camp_id) {
if (!nx.bridge.acts) {
nx.warn("跳转指定活动失败:", _camp_id);
return false;
}
var 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: checkSource,
jump2Window: jump2Window,
jump2WindowByKey: jump2WindowByKey,
jump2GetAsset: jump2GetAsset,
jumpGetItem: jumpGetItem,
jumpOpItem: jumpOpItem,
jump2ActTheme: jump2ActTheme,
jump2ActPage: jump2ActPage
};
cc._RF.pop();