12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- import { FFAttr } from "../data/FFCalAttr";
- import RedPoint from "../data/RedPoint";
- import { PetAttr } from "../data/udata/Player";
- /**
- * 宠物头像
- */
- const {ccclass, property} = cc._decorator;
- @ccclass
- export default class PetIcon extends cc.Component {
- @property(cc.Sprite)
- mIcon: cc.Sprite = null;
- @property(cc.Node)
- mCheck: cc.Node = null;
- @property(cc.Node)
- mLeaderIcon: cc.Node = null;//队长标识
- public callback:(petIcon:PetIcon)=>void;
- public id:number;
- public data:PetAttr;
- onLoad(){
- this.mCheck.active = false
- this.mLeaderIcon.active = false
- }
- public flushIcon(ffAttr:FFAttr){
- let headIcon = ffAttr.skin
- if(headIcon == '30000'){
- headIcon = ''+this.data.id
- }
- cc.resources.load('icon/role_head/'+headIcon, cc.SpriteFrame, (err, spriteFrame:cc.SpriteFrame) =>{
- if(err){
- cc.error(err);
- }else{
- this.mIcon.spriteFrame = spriteFrame;
- }
- } );
- }
- public setCallback(callback:(petIcon:PetIcon)=>void){
- this.callback = callback;
- }
- public onclick(){
- if(this.mCheck.active){
- return;
- }
- let nodes = this.node.parent.children;
- for (let i = 0; i < nodes.length; i++) {
- const node = nodes[i];
- if(node == this.node){
- this.mCheck.active = true;
- }else{
- let tmp = node.getComponent(PetIcon);
- tmp.mCheck.active = false;
- }
- }
- if(this.callback){
- RedPoint.removeRed(this.node)
- this.callback(this);
- }
- }
-
- }
|