Files

145 lines
3.7 KiB
JavaScript
Raw Permalink Normal View History

2026-05-24 10:21:26 +08:00
"use strict";
cc._RF.push(module, '89c67DBr39CD6o7N3bQ7Nnc', 'cmp.summon.animation.card');
// Scripts/mod/summon/animation/cmp.summon.animation.card.js
"use strict";
/******************************************************************
* Copyright(C) 2019 - 2020 Nx Studio
*
* 抽卡召唤动画卡片
*
******************************************************************/
var NxSpine = require("nx.fx.spine");
var SummonMod = require("summon.mod");
cc.Class({
"extends": cc.Component,
properties: {
spFrame: {
"default": null,
type: NxSpine
}
},
// 翻卡
flip: function flip(_info) {
var key = _info.partner_bid + "_" + _info.init_star;
var base = game.configs.partner_data.data_partner_base[_info.partner_bid];
var info = gdata("partner_data", "data_partner_star", key);
if (!base || !info) {
this.infos = null;
this.node.opacity = 0;
nx.error("$FlipCard:无效伙伴", key);
return;
}
// 信息汇总
this.infos = {
bid: base.bid,
name: base.name,
camp: base.camp_type,
quality: base.quality,
star: info.star,
res: info.res_id,
args: nx.dt.objClone(_info)
};
// 展示
this.clear();
this.show();
},
// 卡片清理
clear: function clear() {
nx.gui.setSpriteFrame(this, "camp", null);
nx.gui.setSpriteFrame(this, "star", null);
nx.gui.setSpriteFrame(this, "mask/img", null);
nx.gui.setSpriteFrame(this, "qa", null);
nx.gui.setSpriteFrame(this, "bg", null);
},
// 展示
show: function show() {
var _this = this;
this.node.opacity = 255;
// 阵营标记
var path = cc.path.join("coms/images", "camps" + this.infos.camp);
nx.gui.setSpriteFrame(this, "camp", path);
// 星级
path = cc.path.join("coms/images", "star" + this.infos.star);
nx.gui.setSpriteFrame(this, "star", path);
// 角色
path = cc.path.join("resDB/models", this.infos.res, "half_show2");
nx.gui.setSpriteFrame(this, "mask/img", path, function (_ret) {
if (!_ret) {
nx.gui.setSpriteFrame(_this, "mask/img", "resDB/empty/half_show2");
}
});
// 品质&&背景&&边框
var qa = "";
var showqa = "";
var frame = "";
var bg = cc.path.join("prefab/summon/animation/images", "bg3");
if (this.infos.star >= 5) {
// SSR
bg = cc.path.join("prefab/summon/animation/images", "bg4");
switch (this.infos.quality) {
case 6:
{
showqa = "mk_partner_qa6";
}
;
break;
case 5:
{
showqa = "mk_partner_qa5";
}
;
break;
case 4:
{
showqa = "mk_partner_qa4";
}
;
break;
case 3:
{
showqa = "mk_partner_qa3";
}
;
break;
}
qa = cc.path.join("coms/images", showqa);
frame = cc.path.join("prefab/summon/animation/spines/ssr/action");
} else if (this.infos.star == 4) {
// SR
qa = cc.path.join("coms/images", "mk_partner_qa3");
frame = cc.path.join("prefab/summon/animation/spines/sr/action");
}
nx.gui.setSpriteFrame(this, "qa", qa);
nx.gui.setSpriteFrame(this, "bg", bg);
if (nx.dt.strEmpty(frame)) {
this.spFrame.stop();
} else {
this.spFrame.play(frame, "action", function (_key) {
if (_key == "complete") {
_this.spFrame.action("action2", true);
}
}, false);
}
},
// 点击
onTouch: function onTouch() {
if (nx.dt.objEmpty(this.infos) || nx.dt.objEmpty(this.infos.args)) {
return;
}
var SC = SummonMod.getInstance();
var partners = [this.infos.args];
SC.openSummonGainShowWindow(true, partners);
}
});
cc._RF.pop();