SamsaraGame/assets/Script/panel/PetShenSkill.js
2025-04-24 17:03:28 +08:00

91 lines
2.3 KiB
JavaScript

import GameModel from "../ts/core/GameModel";
import MsgAlert from "../ts/game/msg/MsgAlert";
import SkillUtil from "../ts/game/skill/core/SkillUtil";
cc.Class({
extends: cc.Component,
properties: {
skillitem: cc.Node,
pSkillName: cc.Label,
pSkillIcon: cc.Sprite,
pSkillDetail: cc.Label
},
ctor() {
this.select_skill = 0;
this.cur_pet_id = 0;
},
start() {
},
init() {
let bg = cc.find('skillpanel/ScrollView/view/content', this.node);
let skilllist = SkillUtil.getShenSkill();
let height = 0;
for (let i = 0; i < skilllist.length; i++) {
const skill = skilllist[i];
let sitem = cc.instantiate(this.skillitem);
sitem.active = true;
sitem.x = this.skillitem.x;
sitem.y = this.skillitem.y - (this.skillitem.height + 5) * i;
let iconnode = cc.find('/skillicon', sitem);
let spr = iconnode.getComponent(cc.Sprite);
spr.spriteFrame = SkillUtil.getSkillIcon(skill.icon);
let namenode = cc.find('/skillname', sitem);
let lab = namenode.getComponent(cc.Label);
lab.string = skill.name;
sitem.skillid = skill.id;
sitem.parent = bg;
if (this.select_skill == 0) {
this.selectSkill(skill.id);
}
height = Math.abs(sitem.y);
}
bg.height = height + 100;
},
setPetId(petid) {
this.cur_pet_id = petid;
},
clickSkillItem(e, d) {
let skillitem = e.target;
this.selectSkill(skillitem.skillid);
},
selectSkill(skillid) {
let skill = SkillUtil.getSkill(skillid);
this.pSkillName.string = skill.name;
this.pSkillIcon.spriteFrame = SkillUtil.getSkillIcon(skill.icon);
this.pSkillDetail.string = skill.getDetail();
this.select_skill = skillid;
},
destroySelf() {
this.node.destroy();
},
onStadySkill() {
// if(true){
// MsgAlert.addMsg('即將開放');
// return;
// }
if (GameModel.player.gameData.money < 50000000) {
MsgAlert.addMsg('銀兩不足');
return;
}
GameModel.send('c2s_pet_changeSskill', {
petid: this.cur_pet_id,
skillid: this.select_skill,
});
}
});