import GameModel from "../ts/core/GameModel"; import MsgAlert from "../ts/game/msg/MsgAlert"; cc.Class({ extends: cc.Component, properties: { pet_sprite: cc.Sprite, pet_label: cc.Label, fly_label: cc.Label, fly_button: cc.Node, property_node: cc.Node, }, start () { this.petid_list = []; for (let item of GameModel.player.petInfo.list) { if (item.grade >= 3) { this.petid_list.push(item.petid); } } if (this.petid_list.length == 0) { MsgAlert.addMsg('你沒有符合條件的神獸!'); this.onClose(); return; } if (this.petid_list.length == 1) { cc.find('PetBg/Right', this.node).active = false; cc.find('PetBg/Left', this.node).active = false; } this.cur_index = this.petid_list.indexOf(GameModel.player.petInfo.curid); if (this.cur_index == -1) { this.cur_index = 0; } this.refrush(); }, /* * 切換前一個寵物 */ onLeftClick () { if(!this.pet_list){ return; } -- this.cur_index; if (this.cur_index < 0) { this.cur_index = this.petid_list.length-1; } this.refrush(); }, /* * 切換後一個寵物 */ onRightClick () { ++ this.cur_index; if (this.cur_index == this.petid_list.length) { this.cur_index = 0; } this.refrush(); }, getPetByPetid (petid) { for (let item of GameModel.player.petInfo.list) { if (item.petid == petid) { return item; } } return null; }, /* * 刷新界面 */ refrush () { this.petid = this.petid_list[this.cur_index]; for (let item of GameModel.player.petInfo.list) { if (item.petid == this.petid) { this.pet = item; } } if (this.pet.fly%10 == 0) { this.fly_label.string = '第一次飛升'; } else if (this.pet.fly%10 == 1) { this.fly_label.string = '第二次飛升'; } else if (this.pet.fly%10 == 2) { this.fly_label.string = '第三次飛升'; } else if (this.pet.fly%10 == 3) { this.fly_label.string = '更換飛升屬性'; } this.fly_button.active = true; this.property_node.active = false; this.pet_label.string = this.pet.name; cc.loader.loadRes(`ui/photo/${this.pet.resid}`, cc.SpriteFrame, (err, spriteFrame) => { if (err) { cc.log(err); } else { this.pet_sprite.spriteFrame = spriteFrame; } }); }, /* * 點擊飛升按鈕 */ onFlyClick () { if(this.pet.fly==null){ return; } if (this.pet.fly%10 == 0) { if (this.pet.level < 50) { MsgAlert.addMsg('寵物需要0轉50級!'); return; } GameModel.send('c2s_petfly_msg', { petid: this.petid, type: 0, }); } else if (this.pet.fly%10 == 1) { if (this.pet.level < 100 || this.pet.relive < 1) { MsgAlert.addMsg('寵物需要1轉100級!'); return; } GameModel.send('c2s_petfly_msg', { petid: this.petid, type: 0, }); } else if (this.pet.fly%10 == 2) { if (this.pet.level < 120 || this.pet.relive < 2) { MsgAlert.addMsg('寵物需要2轉120級!'); return; } this.property_node.active = true; this.fly_button.active = false; } else if (this.pet.fly%10 == 3) { if (this.pet.level < 200 || this.pet.relive < 3) { MsgAlert.addMsg('寵物需要3轉200級!'); return; } this.property_node.active = true; this.fly_button.active = false; } }, /* * 點擊選擇初始值 */ onPropertyClick (event, param) { if (GameModel.player.gameData.money < 5000000) { MsgAlert.addMsg('需要消耗500萬銀兩,銀兩不足!'); return; } if (param == parseInt(this.pet.fly/10)) { MsgAlert.addMsg('當前是已選擇此屬性,請選擇其它屬性!'); return; } GameModel.notice.addMsg(1, '需要消耗500萬銀兩,是否繼續? ', () => { GameModel.send('c2s_petfly_msg', { petid: this.petid, type: parseInt(param), }); }, () => {}); }, onClose () { this.node.destroy(); }, });