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

    

}