cc.Class({
    extends: require("BaseCharactor"),
    properties: {
        jumpAudio: {
            default: [],
            type: [cc.AudioClip],
        },
        perfect: {
            default: null,
            type: cc.Node,
            serializable: true,
        },
        indicateLeft: {
            default: null,
            type: cc.Node,
            serializable: true,
        },
        indicateRight: {
            default: null,
            type: cc.Node,
            serializable: true,
        },
    },
    init()
    {
        this._super();
        this.indicateLeftAvatar = this.indicateLeft.getChildByName('Avatar');
        this.indicateLeftDistance = this.indicateLeft.getChildByName('Distance');

        this.indicateRightAvatar = this.indicateRight.getChildByName('Avatar');
        this.indicateRightDistance = this.indicateRight.getChildByName('Distance');
    },
    playJumpEffect()//over wirte
    {
        let audioClip = this.jumpAudio[this.pStatesSt.Combo];

        cc.audioEngine.playEffect(audioClip, 0, function () {});

        if(8==this.pStatesSt.Combo)
        {
            this.pStatesSt.Combo=0;

            if(!this.perfect.active)
            {
                this.perfect.active = true;
            }

            let anim = this.perfect.getComponent('cc.Animation');
            // 是动画组件cc.Animation组件实例来监听;
            anim.on("play", function()
            {
                // this.perfect.active = false;
            }.bind(this), this);

            anim.play();
        }

        this.pStatesSt.Combo++;
    },
    showIndicater(bLeft,distence)
    {
        if(bLeft)
        {
            this.indicateLeft.active = true;
            this.indicateRight.active = false;
            this.indicateLeftDistance.getComponent(cc.Label).string = distence;
        }
        else {
            this.indicateLeft.active = false;
            this.indicateRight.active = true;
            this.indicateRightDistance.getComponent(cc.Label).string = distence;
        }
    },
    hideIndicater()
    {
        this.indicateLeft.active = false;
        this.indicateRight.active = false;
    }
});
