112 lines
3.2 KiB
JavaScript
112 lines
3.2 KiB
JavaScript
"use strict";
|
|
cc._RF.push(module, '69c3bhFYoNIV6FEPAhnfHbK', 'cmp.item.battle.hero');
|
|
// Scripts/mod/battle/cmp/cmp.item.battle.hero.js
|
|
|
|
"use strict";
|
|
|
|
var ItemBase = require("nx.fx.sv.expand.item");
|
|
var PathTool = require("pathtool");
|
|
var NxSpine = require("nx.fx.spine");
|
|
cc.Class({
|
|
"extends": ItemBase,
|
|
properties: {
|
|
frame: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
head: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
effect: {
|
|
"default": null,
|
|
type: NxSpine
|
|
},
|
|
showSp: {
|
|
"default": null,
|
|
type: NxSpine
|
|
},
|
|
buff_con: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
buff: {
|
|
"default": null,
|
|
type: cc.Node
|
|
}
|
|
},
|
|
// LIFE-CYCLE CALLBACKS:
|
|
onLoad: function onLoad() {},
|
|
setConfig: function setConfig() {},
|
|
setEmpty: function setEmpty() {},
|
|
setData: function setData(data) {
|
|
if (nx.dt.objEmpty(data)) {
|
|
this.setEmpty();
|
|
return false;
|
|
}
|
|
this.data = data;
|
|
var partner_bid = data.star == 0 ? data.object_id : data.object_bid;
|
|
this.partner_data = gdata("partner_data", "data_partner_base", partner_bid);
|
|
this.object_bid = data.object_bid;
|
|
var res_id = this.partner_data.bustid;
|
|
if (data.extra_data.length > 0) {
|
|
for (var i = 0; i < data.extra_data.length; i++) {
|
|
if (data.extra_data[i].extra_key == 5 && data.extra_data[i].extra_value > 0) {
|
|
//皮肤
|
|
var skin_data = game.configs.partner_skin_data.data_skin_info[data.extra_data[i].extra_value];
|
|
res_id = skin_data.res_id;
|
|
}
|
|
}
|
|
}
|
|
var res_path = PathTool.getIconPath("models/" + res_id + "/play", "pkicon");
|
|
nx.gui.setSpriteFrame(this.head, "", res_path);
|
|
},
|
|
//动作列表
|
|
//攻击
|
|
useSkill: function useSkill(end_call, skill_delay) {
|
|
var _this = this;
|
|
this.frame.active = true;
|
|
var res_path = PathTool.getSpinePath("E80049", "action", false);
|
|
this.showSp.load(res_path, function (_e) {
|
|
if (!_e) {
|
|
_this.showSp.action("action", false);
|
|
//上浮
|
|
var head_up = cc.moveBy(0.1, cc.v2(0, 20)).easing(cc.easeOut(0.16));
|
|
//下沉
|
|
var head_down = cc.moveBy(0.3, cc.v2(0, -20)).easing(cc.easeIn(0.16));
|
|
_this.head.runAction(cc.sequence(cc.spawn(head_up, end_call), cc.delayTime(skill_delay), head_down, cc.callFunc(function () {
|
|
_this.frame.active = false;
|
|
})));
|
|
} else {
|
|
_this.showSp.stop();
|
|
}
|
|
});
|
|
},
|
|
//受击
|
|
getEncountor: function getEncountor() {
|
|
var _this2 = this;
|
|
var self = this;
|
|
var spine_act = cc.sequence(cc.rotateBy(0.05, 10), cc.rotateBy(0.05, -10));
|
|
//受击
|
|
var hit_act = cc.repeat(spine_act, 1);
|
|
var res_path = PathTool.getSpinePath("E65011", "action", false);
|
|
self.effect.load(res_path, function (_e) {
|
|
if (!_e) {
|
|
_this2.effect.action("action", false, function (_key, _name) {
|
|
if (_key == "start") {
|
|
self.node.runAction(hit_act);
|
|
}
|
|
if (_key == "complete") {
|
|
self.node.stopAllActions();
|
|
self.node.angle = 0;
|
|
}
|
|
});
|
|
} else {
|
|
self.effect.stop();
|
|
self.node.runAction(hit_act);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
cc._RF.pop(); |