import { GameViewType } from "../../../main/ViewManage"; import ViewObject from "../../../main/ViewObject"; import RedPoint from "../../data/RedPoint"; import Equip from "../../home/equip/Equip"; import SetLeader from "../../home/equip/SetLeader"; import FPanel from "./FPanel"; /** * 头像 */ const { ccclass, property } = cc._decorator; @ccclass export default class FPanelIcon extends FPanel { @property(cc.Sprite) mIcon: cc.Sprite = null; @property(cc.Node) mIconX: cc.Node = null; @property(cc.Node) mLeader: cc.Node = null;//队长标识 public inGuide = false//当前是否处于引导中 public guideStep: number = 0; /** * 引导中的点击回调 */ private guideCallback: () => void onLoad() { this.mIconX.active = false; } public setGuideCallback(guideCallback: () => void) { this.guideCallback = guideCallback } /** * 更新当前面板 */ public updatePanel() { if (this.sprite) { this.mHPBar.progress = this.sprite.hp / this.sprite.attrData.hp; if (this.mLabel) { this.mLabel.string = this.sprite.hp + '/' + this.sprite.attrData.hp; } if (this.sprite.hp <= 0) { this.mIconX.active = true; } else { this.mIconX.active = false; } } } public setCancel() { } public setClose() { } /** * 设置头像 */ public setIcon() { let ffAttr = this.sprite.attrData let headIcon = ffAttr.skin if (headIcon == '30000') { headIcon = '' + ffAttr.id } cc.resources.load('icon/role_head/' + headIcon, cc.SpriteFrame, (err, spriteFrame: cc.SpriteFrame) => { if (err) { cc.error(err); } else { this.mIcon.spriteFrame = spriteFrame; } }); let main = this.sprite.ff.main let player = main.player if (this.sprite.attrData.id == player.role.leader) { this.mLeader.active = true; } else { this.mLeader.active = false; } } public onclick() { let res = this.sprite.map.ff.fres let nodes = res.mHudNode.children for (let i = 0; i < nodes.length; i++) { const element = nodes[i]; RedPoint.removeRed(element) } let main = this.sprite.map.ff.main this.sprite.ff.pauseSprite(true) main.viewManage.loadFunc(GameViewType.equip, (viewObject: ViewObject) => { viewObject.show(); let topNode = this.sprite.ff.main.topNode; topNode.active = true; let equip: Equip = viewObject as Equip equip.inGuide = this.inGuide equip.guideStep = this.guideStep; this.inGuide = false equip.openId = this.sprite.attrData.id let setLeader = equip.node.getComponent(SetLeader) setLeader.mSetButton.active = false equip.setCloseCallback(() => { if (this.sprite.isValid && this.sprite.ff.isValid) { this.sprite.ff.pauseSprite(false) this.sprite.map.ff.updateRole() } topNode.active = false; }) }); if (this.guideCallback) { this.guideCallback() } } }