Files
fc/dev/project/library/imports/5e/5ea86c58-cda7-465e-8d1c-85388e06e012.js
T

111 lines
3.9 KiB
JavaScript
Raw Normal View History

2026-05-24 10:21:26 +08:00
"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.
// 公会秘境 后端 国辉 策划 松岳
// <br/>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();