"use strict"; cc._RF.push(module, 'e6380i6HqBOGodYC3skGiSf', 'bridge.conditions'); // Scripts/zbridge/utils/bridge.conditions.js "use strict"; // ================================================================ // // 条件判断集 // // ================================================================ var RoleController = require("role_controller"); var HeroController = require("hero_controller"); var BattleDramaController = require("battle_drama_controller"); var BackPackController = require("backpack_controller"); // 条件关键字 var CKeys = ["dun", "lev", "maxlev", "maxdun", "star", "guild_lv", "open_day", "world_lev", "building", "guide_close", "hopen", "item"]; // 条件判断方法集合 var CFMap = { // 关卡条件 "dun": function dun(_val) { var dun = parseInt(_val) || 0; var dt = BattleDramaController.getInstance().getModel().getDramaData(); if (dt.max_dun_id < dun) { var cfg = game.configs.dungeon_data.data_drama_dungeon_info[dun]; return nx.text.format("LockMaxDun", cfg ? cfg.name : ""); } }, // 等级条件 "lev": function lev(_val) { var role = RoleController.getInstance().getRoleVo(); if (role && role.lev < _val) { return nx.text.format("LockRoleLevel", _val); } }, // 等级限制条件 "maxlev": function maxlev(_val) { var role = RoleController.getInstance().getRoleVo(); if (role && role.lev >= _val) { return nx.text.format("LockRoleMaxLevel", _val); } }, // 关卡限制条件 "maxdun": function maxdun(_val) { var dun = parseInt(_val) || 0; var dt = BattleDramaController.getInstance().getModel().getDramaData(); if (dt.max_dun_id >= dun) { var cfg = game.configs.dungeon_data.data_drama_dungeon_info[dun]; return nx.text.format("LockMaxDun", cfg ? cfg.name : ""); } }, // 星级条件 "star": function star(_val) { var bag = HeroController.getInstance().getModel(); if (bag) { var partners = bag.getAllHeroArray(); var count = 0; partners.forEach(function (_part) { if (_part.star >= _val) { count++; } }); if (bag && count <= 0) { return nx.text.format("LockHeroStar", _val); } } }, // 工会等级条件 "guild_lv": function guild_lv(_val) { var role = RoleController.getInstance().getRoleVo(); if (role && role.guild_lev < _val) { return nx.text.format("LockGuildLevel", _val); } }, // 开服天数条件 "open_day": function open_day(_val) { var role = RoleController.getInstance().getRoleVo(); if (role && role.open_day < _val) { return nx.text.format("LockOpenDay", _val); } }, // 世界等级条件 "world_lev": function world_lev(_val) { var level = RoleController.getInstance().getModel().getWorldLev(); if (level < _val) { return nx.text.format("LockWorldLevel", _val); } }, // 待废弃:建筑条件 "building": function building(_val) { nx.error("解锁判断: building条件需要重建,目前废弃!"); return; }, // 引导忽略 "guide_close": function guide_close(_val) { var closed = !nx.bridge.plot || !nx.bridge.plot.opened; if (!!_val == closed) { return; } return nx.text.getKey("LockGuideIgnored"); }, // HOpen "hopen": function hopen(_val) { var open = nx.bridge.vget("HOpened"); var key = open ? 1 : 0; if (key == _val) { return; } return nx.text.getKey("LockGuideHClose"); }, // 背包道具数量 "item": function item(_val) { var tmp = "" + _val; var arr = tmp.split("#"); var model = BackPackController.getInstance().getModel(); var count = model ? model.getBackPackItemNumByBid(arr[0]) : 0; var need = arr[1] || 0; if (count < need) { return nx.text.getKey("LockItemCount"); } } }; // 别名 CFMap["dungeon"] = CFMap["dun"]; CFMap["guild"] = CFMap["guild_lv"]; module.exports = { CFMap: CFMap, CKeys: CKeys }; cc._RF.pop();