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, }); } });