"use strict"; cc._RF.push(module, '8fbecAL5NVPmqTm+BqZ1AQb', 'guildwar_battle_log_item'); // Scripts/mod/guildwar/view/guildwar_battle_log_item.js "use strict"; // -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 这里是描述这个窗体的作用的 //
Create: 2019-05-10 14:20:14 // -------------------------------------------------------------------- var PathTool = require("pathtool"); var TimeTool = require("timetool"); var Guildwar_battle_logPanel = cc.Class({ "extends": BasePanel, ctor: function ctor() { this.prefabPath = PathTool.getPrefabPath("guildwar", "guildwar_battle_log_item"); }, // 可以初始化声明一些变量的 initConfig: function initConfig() {}, // 初始化一些配置数据,可以用于声明一些变量之类的 initPanel: function initPanel() { this.top_image_sp = this.seekChild("top_image", cc.Sprite); this.flag_image = this.seekChild("flag_image"); this.time_label_lb = this.seekChild("time_label", cc.Label); this.log_text_rt = this.seekChild("log_text_rt", cc.RichText); }, // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent registerEvent: function registerEvent() {}, setData: function setData(data) { this.data = data; if (this.root_wnd) this.onShow(); }, // 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了 onShow: function onShow() { if (this.data == null) return; var data = this.data; if (data.flag1 == 1) { //本方 this.loadRes(PathTool.getUIIconPath("guildwar", "guildwar_1025"), function (sp) { this.top_image_sp.spriteFrame = sp; }.bind(this)); } else if (data.flag1 == 0) { this.loadRes(PathTool.getUIIconPath("guildwar", "guildwar_1026"), function (sp) { this.top_image_sp.spriteFrame = sp; }.bind(this)); } this.time_label_lb.string = TimeTool.getYMDHMS(data.time); var role_vo = require("role_controller").getInstance().getRoleVo(); var myGuildSrvName = this.getLogSrvName(role_vo.gsrv_id); // 我方联盟服务器名 var myRoleSrvName = this.getLogSrvName(data.srv_id1); // 我方玩家务器名 var myRoleName = data.name1 || ""; // 我方玩家名称 var myGuildName = role_vo.gname || ""; // 我方联盟名称 var enemyGuildSrvName = this.getLogSrvName(data.srv_id); // 敌方联盟服务器名 var enemyRoleSrvName = this.getLogSrvName(data.srv_id2); // 敌方玩家务器名 var enemyRoleName = data.name2 || ""; // 敌方玩家名称 var enemyGuildName = data.gname || ""; // 敌方联盟名 var star_num = 0; // 获得星数 var battle_score = 0; // 获得战绩 var enemy_total = 0; // 敌方总积分 var buff_lev = 0; // buff等级 var is_win = false; // 是否胜利 var self_total = 0; //我方星数 for (var k in data.int_args) { var args = data.int_args[k]; if (args.key == 1) { star_num = args.val; } else if (args.key == 2) { battle_score = args.val; } else if (args.key == 3) { enemy_total = args.val; } else if (args.key == 4) { buff_lev = args.val; } else if (args.key == 5) { is_win = args.val == 1; } else if (args.key == 6) { self_total = args.val; } } var star_path = PathTool.getUIIconPath("guildwar", "guildwar_1007"); var star_str = ""; if (star_num > 0) { for (var i = 1; i <= star_num; i++) { star_str = star_str + cc.js.formatStr("", "guildwar_1007"); } } var star_str_2 = cc.js.formatStr("", "guildwar_1007"); var log_str = ""; var resArr = [star_path, star_path]; if (data.flag1 == 1 && data.flag2 == 2) { //我方进攻废墟 if (role_vo.rid == data.rid1 && role_vo.srv_id == data.srv_id1) { //玩家自己 if (is_win) { log_str = cc.js.formatStr(Utils.TI18N(" %s挑战%s%s废墟成功,将公会Buff等级提升至%s级。"), myRoleName, enemyRoleSrvName, enemyRoleName, buff_lev); } else { log_str = cc.js.formatStr(Utils.TI18N(" 很遗憾,%s挑战%s%s废墟失败,下次将卷土重来!"), myRoleName, enemyRoleSrvName, enemyRoleName); } } else { log_str = cc.js.formatStr(Utils.TI18N(" 公会成员%s挑战%s%s废墟成功,将公会Buff等级提升至%s级。"), myRoleName, enemyRoleSrvName, enemyRoleName, buff_lev); } } else if (data.flag1 == 1 && data.flag2 == 1) { //我方进攻据点 if (role_vo.rid == data.rid1 && role_vo.srv_id == data.srv_id1) { //玩家自己 if (is_win) { log_str = cc.js.formatStr(Utils.TI18N(" %s挑战%s%s据点成功,获得[%s]和战绩%s点,己方公会%s%s当前星数为%s%s。"), myRoleName, enemyRoleSrvName, enemyRoleName, star_str, battle_score, myGuildSrvName, myGuildName, star_str_2, self_total); } else { log_str = cc.js.formatStr(Utils.TI18N(" 很遗憾,%s挑战%s%s据点失败,下次将卷土重来!"), myRoleName, enemyRoleSrvName, enemyRoleName); } } else { log_str = cc.js.formatStr(Utils.TI18N(" 公会成员%s挑战%s%s据点成功,获得[%s]和战绩%s点,己方公会%s%s当前星数为%s%s。"), myRoleName, enemyRoleSrvName, enemyRoleName, star_str, battle_score, myGuildSrvName, myGuildName, star_str_2, self_total); } } else if (data.flag1 == 0 && data.flag2 == 2) { //敌方进攻废墟 if (role_vo.rid == data.rid1 && role_vo.srv_id == data.srv_id1 && !is_win) { //敌方挑战我的废墟失败 log_str = cc.js.formatStr(Utils.TI18N(" %s的废墟抵挡住了敌方公会成员%s%s的挑战,固若金汤!"), myRoleName, enemyRoleSrvName, enemyRoleName); } else { log_str = cc.js.formatStr(Utils.TI18N(" 敌方公会成员%s%s挑战%s%s废墟成功,将公会Buff等级提升至%s级。"), enemyRoleSrvName, enemyRoleName, myRoleSrvName, myRoleName, buff_lev); } } else if (data.flag1 == 0 && data.flag2 == 1) { //敌方进攻据点 if (role_vo.rid == data.rid1 && role_vo.srv_id == data.srv_id1 && !is_win) { //敌方挑战我的据点失败 log_str = cc.js.formatStr(Utils.TI18N(" %s的据点抵挡住了敌方公会成员%s%s的挑战,固若金汤!"), myRoleName, enemyRoleSrvName, enemyRoleName); } else { log_str = cc.js.formatStr(Utils.TI18N(" 敌方公会成员%s%s挑战%s%s据点成功,获得[%s]和战绩%s点,敌方公会%s%s当前星数为%s%s。"), enemyRoleSrvName, enemyRoleName, myRoleSrvName, myRoleName, star_str, battle_score, enemyGuildSrvName, enemyGuildName, star_str_2, enemy_total); } } this.log_text_rt.string = log_str; for (var i in resArr) { this.loadRes(resArr[i], function (resObject) { this.log_text_rt.addSpriteFrame(resObject); }.bind(this)); } }, getLogSrvName: function getLogSrvName(srv_id) { if (!srv_id) return ""; var index = srv_id.search("_"); var srv_index = 1; if (index) { srv_index = srv_id.substring(index + 1); } var srvName = "[s" + srv_index + "]"; return srvName; }, // 面板设置不可见的回调,这里做一些不可见的屏蔽处理 onHide: function onHide() {}, // 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用 onDelete: function onDelete() {} }); cc._RF.pop();