"use strict"; cc._RF.push(module, '5ea86xYzadGXo0chTiOBuAS', 'guildsecretarea_model'); // Scripts/mod/guild/secretarea/guildsecretarea_model.js "use strict"; // //////////////////////////////////////////////////////////////////// // 这里填写简要说明(必填), // @author. lwc@syg.com(必填, 创建模块的人员) // @editor. xxx@syg.com(必填, 后续维护以及修改的人员) // @description. // 公会秘境 后端 国辉 策划 松岳 //
Create. 2019年9月11日 // //////////////////////////////////////////////////////////////////// var BridgeClass = require("bridge.class"); var GuildConst = require("guild_const"); var GuildEvent = require("guild_event"); var GuildsecretareaModel = cc.Class({ "extends": BridgeClass, ctor: function ctor() { var ctrl = require("guildsecretarea_controller"); this.ctrl = ctrl.getInstance(); }, initConfig: function initConfig() { this.dic_boss_rank_info = {}; }, //公会秘境数据..用于判定红点用 updateSecretareaData: function updateSecretareaData(data) { this.secretarea_data = data; this.checkRedPoint(true); }, updateSecretareaBuyCount: function updateSecretareaBuyCount(data) { if (data && this.secretarea_data) { this.secretarea_data.count = data.count; this.secretarea_data.last_buy_time = data.last_buy_time; this.checkRedPoint(true); } }, checkRedPoint: function checkRedPoint(is_check_main) { var status = false; if (this.secretarea_data) { if (this.secretarea_data.bid == 0) { return false; } if (this.secretarea_data.count > 0 && this.secretarea_data.end_time > client.socket.getTime()) { //有挑战次数 status = true; } else { //是否能量领奖 if (this.secretarea_data.is_reward == 1) { //已领奖励信息 var dic_progress_reward = {}; for (var i in this.secretarea_data.progress_reward) { var v = this.secretarea_data.progress_reward[i]; dic_progress_reward[v.order] = true; } if (game.configs.guild_secret_area_data && game.configs.guild_secret_area_data.data_box_reward) { var box_reward_list = game.configs.guild_secret_area_data.data_box_reward[this.secretarea_data.bid]; if (box_reward_list && Utils.next(box_reward_list) != null) { box_reward_list.sort(function (a, b) { return a.number - b.number; }); var per_hp = this.secretarea_data.hp * 100 / this.secretarea_data.max_hp; for (var _i in box_reward_list) { var config = box_reward_list[_i]; var per = config.progress / 10; if (!dic_progress_reward[config.number] && per_hp <= per) { status = true; break; } } } } } } } if (is_check_main) {} gcore.GlobalEvent.fire(GuildEvent.UpdateGuildRedStatus, GuildConst.red_index.guild_secret_area, status); return status; }, updateBossRankInfo: function updateBossRankInfo(data) { if (!data) { return; } this.dic_boss_rank_info[data.boss_id] = data; }, getBossRankInfoByBossID: function getBossRankInfoByBossID(boss_id) { if (this.dic_boss_rank_info) { return this.dic_boss_rank_info[boss_id]; } return null; }, clearBossRankInfo: function clearBossRankInfo() { this.dic_boss_rank_info = {}; }, //讨伐信息更新 updateStartCrusadeInfo: function updateStartCrusadeInfo(data) { this.start_crusade_data = data; }, //是否显示开始讨伐窗口 isShowStartCrusade: function isShowStartCrusade() { if (this.start_crusade_data && this.start_crusade_data.flag == 0) { this.start_crusade_data.flag = 1; return true; } return false; }, __delete: function __delete() {} }); cc._RF.pop();