|
(function() {
|
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
|
var __module = nodeEnv ? module : {exports:{}};
|
var __filename = 'preview-scripts/assets/Scripts/mod/battle/battle_data.js';
|
var __require = nodeEnv ? function (request) {
|
return cc.require(request);
|
} : function (request) {
|
return __quick_compile_project__.require(request, __filename);
|
};
|
function __define (exports, require, module) {
|
if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
|
cc._RF.push(module, 'ce9eapVbdhKR6CjQwid529Q', 'battle_data');
|
// Scripts/mod/battle/battle_data.js
|
|
"use strict";
|
|
// --------------------------------------------------------------------
|
// @author: shiraho@syg.com(必填, 创建模块的人员)
|
// @description:
|
// 当前战斗的详细数据,包含双方数据
|
// <br/>Create: new Date().toISOString()
|
// --------------------------------------------------------------------
|
var BattleRoleData = require("battle_role_data");
|
|
var BattleBuffData = require("battle_buff_data");
|
|
var BattleData = cc.Class({
|
"extends": BaseClass,
|
ctor: function ctor() {
|
this.fight_object_list = {};
|
this.buff_play_list = {};
|
this.halo_list = {};
|
this.formation = {};
|
},
|
properties: {
|
fight_object_list: null,
|
// 双方战斗单位数据
|
buff_play_list: null,
|
// 拥有buff
|
halo_list: null,
|
// 两边阵营光环信息 group, type
|
formation: null,
|
// 战法信息,包含 group, formation_type, formation_lev
|
combat_type: 0,
|
// 战斗类型
|
current_wave: 0,
|
// 当前波数
|
total_wave: 0,
|
// 总波数
|
action_count: 0,
|
// 当前回合数
|
target_role_name: "",
|
// 如果对方是玩家,则是对方的角色名
|
actor_role_name: "",
|
// 发起方的玩家名字,用于看录像
|
flag: 0,
|
// 标识(0:正常进入 1:断线重连 2:切入观战)
|
extra_args: [],
|
// 战斗的额外参数,比如当前副本id,具体值跟战斗类型有关系
|
is_active: false // 当前战斗是否处于激活状态
|
|
},
|
// 更新详细数据
|
updateData: function updateData(data) {
|
this.combat_type = data.combat_type;
|
this.current_wave = data.current_wave;
|
this.total_wave = data.total_wave;
|
this.target_role_name = data.target_role_name;
|
this.actor_role_name = data.actor_role_name;
|
this.flag = data.flag ? data.flag : 0;
|
|
if (data.extra_args) {
|
this.extra_args = data.extra_args;
|
}
|
|
if (data.action_count) {
|
this.action_count = data.action_count;
|
} // 单位
|
|
|
this.updateObjectData(data.objects); // buff
|
|
this.updateBuffData(data.buffs); // 阵营
|
|
this.updateHaloData(data.halo_list); // 阵法
|
|
this.updateFormationData(data.formation);
|
this.is_active = true;
|
},
|
// 更新单位数据
|
updateObjectData: function updateObjectData(array) {
|
if (array == null) {
|
return;
|
}
|
|
for (var index = 0; index < array.length; index++) {
|
var element = array[index];
|
|
if (this.fight_object_list[element.pos] == null) {
|
this.fight_object_list[element.pos] = new BattleRoleData();
|
}
|
|
this.fight_object_list[element.pos].updateData(element);
|
}
|
},
|
// 更新BUFF数据
|
updateBuffData: function updateBuffData(array) {
|
if (array == null) {
|
return;
|
}
|
|
for (var index = 0; index < array.length; index++) {
|
var element = array[index];
|
|
if (this.buff_play_list[element.target] == null) {
|
this.buff_play_list[element.target] = {};
|
}
|
|
if (this.buff_play_list[element.target][element.id] == null) {
|
this.buff_play_list[element.target][element.id] = new BattleBuffData();
|
}
|
|
this.buff_play_list[element.target][element.id].updateData(element);
|
}
|
},
|
// 更新阵营数据
|
updateHaloData: function updateHaloData(array) {
|
if (array == null) {
|
return;
|
}
|
|
for (var index = 0; index < array.length; index++) {
|
var element = array[index];
|
|
if (this.halo_list[element.group] == null) {
|
this.halo_list[element.group] = {
|
group: 0,
|
type: 0
|
};
|
}
|
|
this.halo_list[element.group].group = element.group;
|
this.halo_list[element.group].type = element.type;
|
}
|
},
|
// 更新阵法数据
|
updateFormationData: function updateFormationData(array) {
|
if (array == null) {
|
return;
|
}
|
|
for (var index = 0; index < array.length; index++) {
|
var element = array[index];
|
|
if (this.formation[element.group] == null) {
|
this.formation[element.group] = {
|
formation_type: 0,
|
formation_lev: 0
|
};
|
}
|
|
this.formation[element.group].formation_type = element.formation_type;
|
this.formation[element.group].formation_lev = element.formation_lev;
|
}
|
},
|
// 当前战斗是否是激活,不清除数据是想重复利用
|
setActive: function setActive(status) {
|
if (status == false) {
|
this.buff_play_list = {};
|
this.is_active = false;
|
}
|
}
|
});
|
module.exports = BattleData;
|
|
cc._RF.pop();
|
}
|
if (nodeEnv) {
|
__define(__module.exports, __require, __module);
|
}
|
else {
|
__quick_compile_project__.registerModuleFunc(__filename, function () {
|
__define(__module.exports, __require, __module);
|
});
|
}
|
})();
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxiYXR0bGVcXGJhdHRsZV9kYXRhLmpzIl0sIm5hbWVzIjpbIkJhdHRsZVJvbGVEYXRhIiwicmVxdWlyZSIsIkJhdHRsZUJ1ZmZEYXRhIiwiQmF0dGxlRGF0YSIsImNjIiwiQ2xhc3MiLCJCYXNlQ2xhc3MiLCJjdG9yIiwiZmlnaHRfb2JqZWN0X2xpc3QiLCJidWZmX3BsYXlfbGlzdCIsImhhbG9fbGlzdCIsImZvcm1hdGlvbiIsInByb3BlcnRpZXMiLCJjb21iYXRfdHlwZSIsImN1cnJlbnRfd2F2ZSIsInRvdGFsX3dhdmUiLCJhY3Rpb25fY291bnQiLCJ0YXJnZXRfcm9sZV9uYW1lIiwiYWN0b3Jfcm9sZV9uYW1lIiwiZmxhZyIsImV4dHJhX2FyZ3MiLCJpc19hY3RpdmUiLCJ1cGRhdGVEYXRhIiwiZGF0YSIsInVwZGF0ZU9iamVjdERhdGEiLCJvYmplY3RzIiwidXBkYXRlQnVmZkRhdGEiLCJidWZmcyIsInVwZGF0ZUhhbG9EYXRhIiwidXBkYXRlRm9ybWF0aW9uRGF0YSIsImFycmF5IiwiaW5kZXgiLCJsZW5ndGgiLCJlbGVtZW50IiwicG9zIiwidGFyZ2V0IiwiaWQiLCJncm91cCIsInR5cGUiLCJmb3JtYXRpb25fdHlwZSIsImZvcm1hdGlvbl9sZXYiLCJzZXRBY3RpdmUiLCJzdGF0dXMiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLElBQUlBLGNBQWMsR0FBR0MsT0FBTyxDQUFDLGtCQUFELENBQTVCOztBQUNBLElBQUlDLGNBQWMsR0FBR0QsT0FBTyxDQUFDLGtCQUFELENBQTVCOztBQUVBLElBQUlFLFVBQVUsR0FBR0MsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDdEIsYUFBU0MsU0FEYTtBQUV0QkMsRUFBQUEsSUFBSSxFQUFDLGdCQUFVO0FBQ1gsU0FBS0MsaUJBQUwsR0FBeUIsRUFBekI7QUFDQSxT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U0FBUyxFQUFDLG1CQUFTQyxNQUFULEVBQWdCO0FBQ3RCLFFBQUlBLE1BQU0sSUFBSSxLQUFkLEVBQW9CO0FBQ2hCLFdBQUtqQyxjQUFMLEdBQXNCLEVBQXRCO0FBQ0EsV0FBS1ksU0FBTCxHQUFpQixLQUFqQjtBQUNIO0FBQ0o7QUE3R3FCLENBQVQsQ0FBakI7QUFnSEFzQixNQUFNLENBQUNDLE9BQVAsR0FBaUJ6QyxVQUFqQiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBhdXRob3I6IHNoaXJhaG9Ac3lnLmNvbSjlv4XloassIOWIm+W7uuaooeWdl+eahOS6uuWRmClcbi8vIEBkZXNjcmlwdGlvbjpcbi8vICAgICAg5b2T5YmN5oiY5paX55qE6K+m57uG5pWw5o2uLOWMheWQq+WPjOaWueaVsOaNrlxuLy8gPGJyLz5DcmVhdGU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudmFyIEJhdHRsZVJvbGVEYXRhID0gcmVxdWlyZShcImJhdHRsZV9yb2xlX2RhdGFcIik7XG52YXIgQmF0dGxlQnVmZkRhdGEgPSByZXF1aXJlKFwiYmF0dGxlX2J1ZmZfZGF0YVwiKTtcblxudmFyIEJhdHRsZURhdGEgPSBjYy5DbGFzcyh7XG4gICAgZXh0ZW5kczogQmFzZUNsYXNzLFxuICAgIGN0b3I6ZnVuY3Rpb24oKXtcbiAgICAgICAgdGhpcy5maWdodF9vYmplY3RfbGlzdCA9IHt9O1xuICAgICAgICB0aGlzLmJ1ZmZfcGxheV9saXN0ID0ge307XG4gICAgICAgIHRoaXMuaGFsb19saXN0ID0ge307XG4gICAgICAgIHRoaXMuZm9ybWF0aW9uID0ge307XG4gICAgfSxcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIGZpZ2h0X29iamVjdF9saXN0OiBudWxsLCAgICAgICAgLy8g5Y+M5pa55oiY5paX5Y2V5L2N5pWw5o2uXG4gICAgICAgIGJ1ZmZfcGxheV9saXN0OiBudWxsLCAgICAgICAgICAgLy8g5oul5pyJYnVmZlxuICAgICAgICBoYWxvX2xpc3Q6IG51bGwsICAgICAgICAgICAgICAgIC8vIOS4pOi+uemYteiQpeWFieeOr+S/oeaBryBncm91cCwgdHlwZVxuICAgICAgICBmb3JtYXRpb246IG51bGwsICAgICAgICAgICAgICAgIC8vIOaImOazleS/oeaBryzljIXlkKsgZ3JvdXAsIGZvcm1hdGlvbl90eXBlLCBmb3JtYXRpb25fbGV2XG4gICAgICAgIGNvbWJhdF90eXBlOiAwLCAgICAgICAgICAgICAgICAgLy8g5oiY5paX57G75Z6LXG4gICAgICAgIGN1cnJlbnRfd2F2ZTogMCwgICAgICAgICAgICAgICAgLy8g5b2T5YmN5rOi5pWwXG4gICAgICAgIHRvdGFsX3dhdmU6IDAsICAgICAgICAgICAgICAgICAgLy8g5oC75rOi5pWwXG4gICAgICAgIGFjdGlvbl9jb3VudDogMCwgICAgICAgICAgICAgICAgLy8g5b2T5YmN5Zue5ZCI5pWwXG4gICAgICAgIHRhcmdldF9yb2xlX25hbWU6IFwiXCIsICAgICAgICAgICAvLyDlpoLmnpzlr7nmlrnmmK/njqnlrrbvvIzliJnmmK/lr7nmlrnnmoTop5LoibLlkI1cbiAgICAgICAgYWN0b3Jfcm9sZV9uYW1lOiBcIlwiLCAgICAgICAgICAgIC8vIOWPkei1t+aWueeahOeOqeWutuWQjeWtl++8jOeUqOS6jueci+W9leWDj1xuICAgICAgICBmbGFnOiAwLCAgICAgICAgICAgICAgICAgICAgICAgIC8vIOagh+ivhigwOuato+W4uOi/m+WFpSAxOuaWree6v+mHjei/niAyOuWIh+WFpeinguaImClcbiAgICAgICAgZXh0cmFfYXJnczogW10sICAgICAgICAgICAgICAgICAvLyDmiJjmlpfnmoTpop3lpJblj4LmlbDvvIzmr5TlpoLlvZPliY3lia/mnKxpZO+8jOWFt+S9k+WAvOi3n+aImOaWl+exu+Wei+acieWFs+ezu1xuICAgICAgICBpc19hY3RpdmU6IGZhbHNlLCAgICAgICAgICAgICAgIC8vIOW9k+WJjeaImOaWl+aYr+WQpuWkhOS6jua/gOa0u+eKtuaAgVxuICAgIH0sXG5cbiAgICAvLyDmm7TmlrDor6bnu4bmlbDmja5cbiAgICB1cGRhdGVEYXRhOmZ1bmN0aW9uKGRhdGEpe1xuICAgICAgICB0aGlzLmNvbWJhdF90eXBlID0gZGF0YS5jb21iYXRfdHlwZTtcbiAgICAgICAgdGhpcy5jdXJyZW50X3dhdmUgPSBkYXRhLmN1cnJlbnRfd2F2ZTtcbiAgICAgICAgdGhpcy50b3RhbF93YXZlID0gZGF0YS50b3RhbF93YXZlO1xuICAgICAgICB0aGlzLnRhcmdldF9yb2xlX25hbWUgPSBkYXRhLnRhcmdldF9yb2xlX25hbWU7XG4gICAgICAgIHRoaXMuYWN0b3Jfcm9sZV9uYW1lID0gZGF0YS5hY3Rvcl9yb2xlX25hbWU7XG4gICAgICAgIHRoaXMuZmxhZyA9IChkYXRhLmZsYWcpID8gZGF0YS5mbGFnIDogMDtcblxuICAgICAgICBpZiAoZGF0YS5leHRyYV9hcmdzKSB7XG4gICAgICAgICAgICB0aGlzLmV4dHJhX2FyZ3MgPSBkYXRhLmV4dHJhX2FyZ3M7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGEuYWN0aW9uX2NvdW50KSB7XG4gICAgICAgICAgICB0aGlzLmFjdGlvbl9jb3VudCA9IGRhdGEuYWN0aW9uX2NvdW50O1xuICAgICAgICB9XG4gICAgICAgIC8vIOWNleS9jVxuICAgICAgICB0aGlzLnVwZGF0ZU9iamVjdERhdGEoZGF0YS5vYmplY3RzKTtcbiAgICAgICAgLy8gYnVmZlxuICAgICAgICB0aGlzLnVwZGF0ZUJ1ZmZEYXRhKGRhdGEuYnVmZnMpO1xuICAgICAgICAvLyDpmLXokKVcbiAgICAgICAgdGhpcy51cGRhdGVIYWxvRGF0YShkYXRhLmhhbG9fbGlzdCk7XG4gICAgICAgIC8vIOmYteazlVxuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1hdGlvbkRhdGEoZGF0YS5mb3JtYXRpb24pO1xuICAgICAgICB0aGlzLmlzX2FjdGl2ZSA9IHRydWU7XG4gICAgfSxcblxuICAgIC8vIOabtOaWsOWNleS9jeaVsOaNrlxuICAgIHVwZGF0ZU9iamVjdERhdGE6ZnVuY3Rpb24oYXJyYXkpe1xuICAgICAgICBpZihhcnJheSA9PSBudWxsKSB7cmV0dXJuO31cbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFycmF5Lmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGFycmF5W2luZGV4XTtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpZ2h0X29iamVjdF9saXN0W2VsZW1lbnQucG9zXSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWdodF9vYmplY3RfbGlzdFtlbGVtZW50LnBvc10gPSBuZXcgQmF0dGxlUm9sZURhdGEoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZmlnaHRfb2JqZWN0X2xpc3RbZWxlbWVudC5wb3NdLnVwZGF0ZURhdGEoZWxlbWVudClcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyDmm7TmlrBCVUZG5pWw5o2uXG4gICAgdXBkYXRlQnVmZkRhdGE6IGZ1bmN0aW9uIChhcnJheSkge1xuICAgICAgICBpZiAoYXJyYXkgPT0gbnVsbCkgeyByZXR1cm47IH1cbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFycmF5Lmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGFycmF5W2luZGV4XTtcbiAgICAgICAgICAgIGlmICh0aGlzLmJ1ZmZfcGxheV9saXN0W2VsZW1lbnQudGFyZ2V0XSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5idWZmX3BsYXlfbGlzdFtlbGVtZW50LnRhcmdldF0gPSB7fVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuYnVmZl9wbGF5X2xpc3RbZWxlbWVudC50YXJnZXRdW2VsZW1lbnQuaWRdID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1ZmZfcGxheV9saXN0W2VsZW1lbnQudGFyZ2V0XVtlbGVtZW50LmlkXSA9IG5ldyBCYXR0bGVCdWZmRGF0YSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5idWZmX3BsYXlfbGlzdFtlbGVtZW50LnRhcmdldF1bZWxlbWVudC5pZF0udXBkYXRlRGF0YShlbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyDmm7TmlrDpmLXokKXmlbDmja5cbiAgICB1cGRhdGVIYWxvRGF0YTpmdW5jdGlvbihhcnJheSl7XG4gICAgICAgIGlmIChhcnJheSA9PSBudWxsKSB7cmV0dXJuO31cbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFycmF5Lmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGFycmF5W2luZGV4XTtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhbG9fbGlzdFtlbGVtZW50Lmdyb3VwXSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYWxvX2xpc3RbZWxlbWVudC5ncm91cF0gPSB7Z3JvdXA6IDAsIHR5cGU6MH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaGFsb19saXN0W2VsZW1lbnQuZ3JvdXBdLmdyb3VwID0gZWxlbWVudC5ncm91cDtcbiAgICAgICAgICAgIHRoaXMuaGFsb19saXN0W2VsZW1lbnQuZ3JvdXBdLnR5cGUgPSBlbGVtZW50LnR5cGU7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLy8g5pu05paw6Zi15rOV5pWw5o2uXG4gICAgdXBkYXRlRm9ybWF0aW9uRGF0YTogZnVuY3Rpb24gKGFycmF5KSB7XG4gICAgICAgIGlmIChhcnJheSA9PSBudWxsKXtyZXR1cm47fVxuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYXJyYXkubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gYXJyYXlbaW5kZXhdO1xuICAgICAgICAgICAgaWYgKHRoaXMuZm9ybWF0aW9uW2VsZW1lbnQuZ3JvdXBdID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1hdGlvbltlbGVtZW50Lmdyb3VwXSA9IHtmb3JtYXRpb25fdHlwZTogMCwgZm9ybWF0aW9uX2xldjowfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5mb3JtYXRpb25bZWxlbWVudC5ncm91cF0uZm9ybWF0aW9uX3R5cGUgPSBlbGVtZW50LmZvcm1hdGlvbl90eXBlO1xuICAgICAgICAgICAgdGhpcy5mb3JtYXRpb25bZWxlbWVudC5ncm91cF0uZm9ybWF0aW9uX2xldiA9IGVsZW1lbnQuZm9ybWF0aW9uX2xldjtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyDlvZPliY3miJjmlpfmmK/lkKbmmK/mv4DmtLss5LiN5riF6Zmk5pWw5o2u5piv5oOz6YeN5aSN5Yip55SoXG4gICAgc2V0QWN0aXZlOmZ1bmN0aW9uKHN0YXR1cyl7XG4gICAgICAgIGlmIChzdGF0dXMgPT0gZmFsc2Upe1xuICAgICAgICAgICAgdGhpcy5idWZmX3BsYXlfbGlzdCA9IHt9XG4gICAgICAgICAgICB0aGlzLmlzX2FjdGl2ZSA9IGZhbHNlXG4gICAgICAgIH1cbiAgICB9LFxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gQmF0dGxlRGF0YTsiXX0=
|