"use strict";
|
cc._RF.push(module, '46939PBCCVJr6c6VCwcZI01', 'sys_controller');
|
// Scripts/sys/sys_controller.js
|
|
"use strict";
|
|
var PartnerConst = require("partner_const");
|
|
var ActionConst = require("action_const");
|
|
var RoleController = require("role_controller");
|
|
var RoleEvent = require("role_event");
|
|
var AdventureActivityController = require("adventureactivity_controller");
|
|
var AdventureActivityConst = require("adventureactivity_const");
|
|
var SysController = cc.Class({
|
"extends": BaseController,
|
ctor: function ctor() {
|
this.initAttrProtocalsFunList();
|
},
|
registerEvents: function registerEvents() {
|
this.role_vo = RoleController.getInstance().getRoleVo();
|
|
if (this.role_vo) {
|
this.role_assets_event = this.role_vo.bind(EventId.UPDATE_ROLE_ATTRIBUTE, function (key, value) {
|
if (key == "lev" || key == "open_day") {
|
this.requestAttrProtocals();
|
}
|
}.bind(this));
|
}
|
|
this.login_event_success = gcore.GlobalEvent.bind(EventId.EVT_RE_LINK_GAME, function () {
|
var GuideController = require("guide_controller");
|
|
if (!RoleController.getInstance().checkRoleSetNameViewIsOpen() && !GuideController.getInstance().isInGuide()) {
|
// 取名界面没打开,并且不在引导中,则跳到主城
|
var MainuiController = require("mainui_controller");
|
|
var MainuiConst = require("mainui_const");
|
|
MainuiController.getInstance().changeMainUIStatus(MainuiConst.btn_index.main_scene);
|
}
|
|
this.resetAttrProtocals();
|
this.requestReLinkProtocals();
|
}.bind(this));
|
},
|
// 登陆时请求的协议
|
requestLoginProtocals: function requestLoginProtocals(finish_cb) {
|
var function_list = [// function () { this.SendProtocal(10906, {}) }.bind(this), // 开服天数
|
// function () { this.SendProtocal(10380, {}) }.bind(this), // 开服时间
|
function () {
|
this.SendProtocal(24600, {});
|
}.bind(this), // 问卷
|
function () {
|
var id = 0;
|
|
if (PLATFORM_TYPR == "SH_SDK") {
|
//深海小程序
|
id = 1;
|
}
|
|
this.SendProtocal(16691, {
|
id: id
|
});
|
}.bind(this), // 爱微游分享状态
|
function () {
|
var id = 0;
|
|
if (PLATFORM_TYPR == "SH_SDK") {
|
//深海小程序
|
id = 1;
|
}
|
|
this.SendProtocal(16693, {
|
id: id
|
});
|
}.bind(this), // 爱微游关注状态
|
function () {
|
if (PLATFORM_TYPR == "SH_SDK") {
|
//深海小程序
|
this.SendProtocal(16695, {});
|
}
|
}.bind(this), // 深海小程序收藏状态
|
function () {
|
this.SendProtocal(10500, {});
|
}.bind(this), // 背包
|
function () {
|
this.SendProtocal(10501, {});
|
}.bind(this), // 背包
|
function () {
|
this.SendProtocal(10325, {});
|
}.bind(this), // 头像信息
|
function () {
|
this.SendProtocal(13006, {});
|
}.bind(this), // 剧情副本基础信息
|
function () {
|
this.SendProtocal(13008, {});
|
}.bind(this), // 剧情副本通关奖励
|
function () {
|
this.SendProtocal(13011, {});
|
}.bind(this), // 剧情副本Buff数据
|
function () {
|
this.SendProtocal(13017, {});
|
}.bind(this), // 剧情副本挂机数据
|
// function () { this.SendProtocal(10905, {}) }.bind(this), // 世界等级
|
function () {
|
this.SendProtocal(20700, {});
|
}.bind(this), // 星河神殿挑战次数
|
function () {
|
this.SendProtocal(30001, {});
|
}.bind(this), // 新主线任务
|
function () {
|
this.SendProtocal(10317, {});
|
}.bind(this), // 点赞数量
|
function () {
|
this.SendProtocal(21100, {});
|
}.bind(this), // 七天登陆
|
function () {
|
this.SendProtocal(13601, {});
|
}.bind(this), // 七日目标
|
function () {
|
this.SendProtocal(16637, {});
|
}.bind(this), // 探宝
|
function () {
|
this.SendProtocal(24700, {});
|
}.bind(this), // 基金
|
function () {
|
this.SendProtocal(21012, {});
|
}.bind(this), // 首充
|
function () {
|
this.SendProtocal(21010, {});
|
}.bind(this), // 每日首充
|
// function () { this.SendProtocal(25000, {}) }.bind(this), // 元素圣殿
|
function () {
|
this.SendProtocal(23606, {});
|
}.bind(this), // 点金
|
function () {
|
this.SendProtocal(24204, {});
|
}.bind(this), // 公会战状态
|
function () {
|
this.SendProtocal(24220, {});
|
}.bind(this), // 公会战宝箱
|
// function () { this.SendProtocal(22200, {}) }.bind(this), // 圣物
|
// function () { this.SendProtocal(24125, {}) }.bind(this), // 神器幻化
|
// function () { this.SendProtocal(24128, {}) }.bind(this), // 神器任务
|
function () {
|
this.SendProtocal(11000, {});
|
}.bind(this), // 英雄数据
|
function () {
|
this.SendProtocal(11040, {});
|
}.bind(this), // 英雄图鉴
|
function () {
|
this.SendProtocal(11037, {});
|
}.bind(this), // 符文祝福
|
function () {
|
this.SendProtocal(11213, {
|
type_list: [{
|
type: PartnerConst.Fun_Form.Drama
|
}, {
|
type: PartnerConst.Fun_Form.Arena
|
}]
|
});
|
}.bind(this), // 阵法
|
function () {
|
this.SendProtocal(24410, {});
|
}.bind(this), // 远征红点
|
// function () { this.SendProtocal(24411, {}) }.bind(this), // 远征派遣红点
|
function () {
|
this.SendProtocal(24400, {});
|
}.bind(this), // 远征数据
|
function () {
|
this.SendProtocal(24405, {});
|
}.bind(this), // 远征支援
|
function () {
|
this.SendProtocal(19807, {});
|
}.bind(this), // 邀请码(自己绑定的角色)
|
function () {
|
this.SendProtocal(19804, {});
|
}.bind(this), // 邀请码红点
|
function () {
|
this.SendProtocal(19800, {});
|
}.bind(this), // 邀请码
|
function () {
|
this.SendProtocal(19802, {});
|
}.bind(this), // 邀请码
|
// function () { this.SendProtocal(24312, {}) }.bind(this), // 天梯是否开启
|
function () {
|
this.SendProtocal(10800, {});
|
}.bind(this), // 邮件
|
function () {
|
this.SendProtocal(10926, {});
|
}.bind(this), // 在线奖励
|
function () {
|
this.SendProtocal(23200, {});
|
}.bind(this), // 召唤数据
|
function () {
|
this.SendProtocal(23214, {});
|
}.bind(this), // 英雄置换
|
// function () { this.SendProtocal(13604, {}) }.bind(this), // 七日目标任务
|
// function () { this.SendProtocal(13607, {}) }.bind(this), // 七日目标等级奖励
|
function () {
|
this.SendProtocal(13030, {});
|
}.bind(this), // 材料副本
|
function () {
|
this.SendProtocal(10400, {});
|
}.bind(this), // 任务列表
|
function () {
|
this.SendProtocal(16400, {});
|
}.bind(this), // 成就列表
|
function () {
|
this.SendProtocal(20300, {});
|
}.bind(this), // 活跃度
|
function () {
|
this.SendProtocal(19906, {});
|
}.bind(this), // 录像馆点赞
|
function () {
|
this.SendProtocal(16707, {});
|
}.bind(this), // 月卡奖励
|
function () {
|
this.SendProtocal(16710, {});
|
}.bind(this), // VIP礼包红点
|
function () {
|
this.SendProtocal(16712, {});
|
}.bind(this), // 累充红点
|
function () {
|
this.SendProtocal(30102, {});
|
}.bind(this), // 皮肤购买红点
|
function () {
|
this.SendProtocal(21006, {});
|
}.bind(this), // 每日礼包
|
function () {
|
this.SendProtocal(24502, {});
|
}.bind(this), // 特权礼包
|
function () {
|
this.SendProtocal(14100, {});
|
}.bind(this), // 签到红点
|
function () {
|
this.SendProtocal(16705, {});
|
}.bind(this), // 月卡信息
|
function () {
|
this.SendProtocal(21008, {});
|
}.bind(this), // 每日礼
|
function () {
|
this.SendProtocal(16635, {});
|
}.bind(this), // 手机绑定奖励状态
|
function () {
|
this.SendProtocal(16697, {});
|
}.bind(this), // 手机绑定奖励状态
|
function () {
|
this.SendProtocal(16633, {});
|
}.bind(this), // 微信公众号状态
|
function () {
|
this.SendProtocal(23205, {});
|
}.bind(this), // 召唤5星必出
|
function () {
|
this.SendProtocal(13040, {});
|
}.bind(this), // 快速作战
|
function () {
|
this.SendProtocal(11320, {});
|
}.bind(this), // 星命塔数据
|
// function () { this.SendProtocal(20706, {}) }.bind(this), // 星河神殿每天第一次登录红点
|
function () {
|
this.SendProtocal(16687, {
|
bid: ActionConst.ActionRankCommonType.open_server
|
});
|
}.bind(this), // 新服限购
|
function () {
|
this.SendProtocal(16687, {
|
bid: ActionConst.ActionRankCommonType.high_value_gift
|
});
|
}.bind(this), // 小额礼包
|
function () {
|
this.SendProtocal(16687, {
|
bid: ActionConst.ActionRankCommonType.mysterious_store
|
});
|
}.bind(this), // 神秘杂货店
|
function () {
|
this.SendProtocal(21020, {});
|
}.bind(this), // 每日1元
|
// function () { this.SendProtocal(25200, {}) }.bind(this), // 天界副本
|
// function () { this.SendProtocal(25219, {}) }.bind(this), // 神装转盘
|
function () {
|
this.SendProtocal(25300, {});
|
}.bind(this), // 战令活动
|
function () {
|
this.SendProtocal(25303, {});
|
}.bind(this), function () {
|
this.SendProtocal(16730, {});
|
}.bind(this), //赠送VIP
|
function () {
|
this.guildRedBagProtocal();
|
}.bind(this), // 公会红包
|
function () {
|
this.adventrueProtocal();
|
}.bind(this), // 冒险
|
function () {
|
this.endlessProtocal();
|
}.bind(this), // 无尽试炼
|
function () {
|
this.voyageProtocal();
|
}.bind(this), // 远航
|
function () {
|
this.SendProtocal(19804, {});
|
}.bind(this) // 邀请码红点
|
];
|
var cur_index = 0;
|
this.ping_timer_id = gcore.Timer.set(function () {
|
function_list[cur_index]();
|
cur_index++; // game.updateProtoProgress(cur_index / function_list.length);
|
|
if (cur_index == function_list.length - 1) {
|
if (finish_cb) finish_cb();
|
}
|
}.bind(this), 20, function_list.length);
|
},
|
requestReLinkProtocals: function requestReLinkProtocals() {
|
var function_list = [function () {
|
this.SendProtocal(10500, {});
|
}.bind(this), // 开服天数
|
function () {
|
this.SendProtocal(10501, {});
|
}.bind(this), // 开服时间
|
function () {
|
this.SendProtocal(13006, {});
|
}.bind(this), // 问卷
|
function () {
|
this.SendProtocal(13008, {});
|
}.bind(this), // 开服天数
|
function () {
|
this.SendProtocal(13011, {});
|
}.bind(this), // 开服时间
|
function () {
|
this.SendProtocal(13017, {});
|
}.bind(this), // 问卷
|
// function () { this.SendProtocal(25000, {}) }.bind(this), // 开服时间
|
function () {
|
this.SendProtocal(24204, {});
|
}.bind(this), // 问卷
|
function () {
|
this.SendProtocal(11000, {});
|
}.bind(this), // 开服时间
|
function () {
|
this.SendProtocal(11040, {});
|
}.bind(this), // 问卷
|
function () {
|
this.SendProtocal(11037, {});
|
}.bind(this), // 开服天数
|
function () {
|
this.SendProtocal(11213, {
|
type_list: [{
|
type: PartnerConst.Fun_Form.Drama
|
}, {
|
type: PartnerConst.Fun_Form.Arena
|
}]
|
});
|
}.bind(this), // 阵法
|
function () {
|
this.SendProtocal(24410, {});
|
}.bind(this), // 问卷
|
// function () { this.SendProtocal(24411, {}) }.bind(this), // 开服天数
|
function () {
|
this.SendProtocal(24400, {});
|
}.bind(this), // 开服时间
|
function () {
|
this.SendProtocal(24405, {});
|
}.bind(this), // 问卷
|
// function () { this.SendProtocal(24312, {}) }.bind(this), // 开服时间
|
function () {
|
this.SendProtocal(23200, {});
|
}.bind(this), // 问卷
|
function () {
|
this.SendProtocal(10400, {});
|
}.bind(this), // 开服时间
|
function () {
|
this.SendProtocal(16400, {});
|
}.bind(this), // 问卷
|
function () {
|
this.SendProtocal(20300, {});
|
}.bind(this), // 开服天数
|
// function () { this.SendProtocal(19906, {}) }.bind(this), // 开服时间
|
function () {
|
this.SendProtocal(21006, {});
|
}.bind(this), // 问卷
|
function () {
|
this.SendProtocal(16705, {});
|
}.bind(this), // 开服天数
|
function () {
|
this.SendProtocal(24700, {});
|
}.bind(this), // 开服时间
|
function () {
|
this.SendProtocal(25300, {});
|
}.bind(this), // 战令任务红点
|
function () {
|
this.guildRedBagProtocal();
|
}.bind(this), // 公会红包
|
function () {
|
this.adventrueProtocal();
|
}.bind(this), // 冒险
|
function () {
|
this.endlessProtocal();
|
}.bind(this), // 无尽试炼
|
function () {
|
this.voyageProtocal();
|
}.bind(this), // 远航
|
function () {
|
this.arenaProtocal();
|
}.bind(this), // 竞技场
|
function () {
|
this.SendProtocal(30001, {});
|
}.bind(this) // 新主线任务
|
];
|
var cur_index = 0;
|
this.ping_timer_id = gcore.Timer.set(function () {
|
function_list[cur_index]();
|
cur_index++;
|
}.bind(this), 10, function_list.length);
|
},
|
|
/******************以下是一些特殊的协议请求*********************/
|
initAttrProtocalsFunList: function initAttrProtocalsFunList(force) {
|
if (force || !this.attr_fun_list) {
|
this.attr_fun_list = [{
|
func: function () {
|
this.adventrueProtocal();
|
}.bind(this),
|
req_flag: false
|
}, {
|
func: function () {
|
this.arenaProtocal();
|
}.bind(this),
|
req_flag: false
|
}, {
|
func: function () {
|
this.endlessProtocal();
|
}.bind(this),
|
req_flag: false
|
}, {
|
func: function () {
|
this.voyageProtocal();
|
}.bind(this),
|
req_flag: false
|
}];
|
}
|
},
|
// 检测是否请求过数据
|
checkProtocalIsCanRequest: function checkProtocalIsCanRequest(id) {
|
if (this.attr_fun_list && this.attr_fun_list[id] && !this.attr_fun_list[id].req_flag) return true;
|
return false;
|
},
|
// 公会红包(只需要登陆和断线时请求,加入公会时,后端会主动推)
|
guildRedBagProtocal: function guildRedBagProtocal() {
|
if (this.role_vo && this.role_vo.gid != 0 && this.role_vo.gsrv_id != "") this.SendProtocal(13534, {});
|
},
|
// 冒险的协议请求
|
adventrueProtocal: function adventrueProtocal(forces) {
|
var is_open = forces;
|
|
if (is_open == null) {
|
is_open = AdventureActivityController.getInstance().isOpenActivity(AdventureActivityConst.Ground_Type.adventure);
|
}
|
|
if (is_open == false) return;
|
if (!this.checkProtocalIsCanRequest(0)) return;
|
this.SendProtocal(20600, {}); // 冒险基础信息
|
|
this.SendProtocal(20601, {}); // 冒险buff信息
|
|
this.SendProtocal(20604, {}); // 冒险伙伴信息数据
|
|
this.SendProtocal(20634, {}); // 冒险宝箱
|
|
if (this.attr_fun_list[0]) {
|
this.attr_fun_list[0].req_flag = true;
|
}
|
},
|
endlessProtocal: function endlessProtocal() {
|
var open_config = Config.endless_data.data_const.open_lev;
|
if (!open_config) return;
|
|
var MainuiController = require("mainui_controller");
|
|
var is_open = MainuiController.getInstance().checkIsOpenByActivate(open_config.val);
|
if (!is_open) return;
|
if (!this.checkProtocalIsCanRequest(2)) return;
|
this.SendProtocal(23900, {});
|
this.SendProtocal(23903, {});
|
this.SendProtocal(23906, {});
|
if (this.attr_fun_list[2]) this.attr_fun_list[2].req_flag = true;
|
},
|
// 远航协议请求
|
voyageProtocal: function voyageProtocal() {
|
var lev_config = Config.shipping_data.data_const["guild_lev"];
|
if (!lev_config || !this.role_vo || lev_config.val > this.role_vo.lev) return;
|
if (!this.checkProtocalIsCanRequest(3)) return;
|
this.SendProtocal(23800, {});
|
this.SendProtocal(23805, {});
|
this.SendProtocal(23821, {});
|
if (this.attr_fun_list[3]) this.attr_fun_list[3].req_flag = true;
|
},
|
resetAttrProtocals: function resetAttrProtocals() {
|
this.initAttrProtocalsFunList(true);
|
},
|
requestAttrProtocals: function requestAttrProtocals() {
|
if (!this.attr_fun_list) return;
|
|
for (var fun_i in this.attr_fun_list) {
|
var fun_info = this.attr_fun_list[fun_i];
|
|
if (!fun_info.req_flag) {
|
fun_info.func();
|
}
|
}
|
},
|
//竞技场的协议请求
|
arenaProtocal: function arenaProtocal() {
|
var config = Config.arena_data.data_const.limit_lev;
|
if (!config || !this.role_vo || this.role_vo.lev < config.val) return;
|
if (!this.checkProtocalIsCanRequest(1)) return;
|
this.SendProtocal(20208, {});
|
this.SendProtocal(20200, {});
|
this.SendProtocal(20250, {});
|
this.SendProtocal(20223, {});
|
if (this.attr_fun_list[1]) this.attr_fun_list[1].req_flag = true;
|
}
|
});
|
module.exports = SysController;
|
|
cc._RF.pop();
|