cc.Class({
    extends: cc.Component,

    properties: {

    },
    play(name)
    {
        let self = this;

        cc.loader.loadRes(name, cc.AudioClip, (err, audioClip)=> {
            self.currentAudio = cc.audioEngine.play(audioClip, false, 1);
        });
    },
    playAudio(name,callback)
    {
        let self = this;

        cc.loader.loadRes(name, cc.AudioClip, (err, audioClip)=> {
            self.currentAudio = cc.audioEngine.play(audioClip, false, 1);
            cc.audioEngine.setFinishCallback(self.currentAudio, function ()
            {
                callback();
            });
        });
    },
    playAudioBySequence(arr,callback)
    {
        let self = this;

        let aIndex = 0;

        let playDemonstrationAudio = function () {

            if(aIndex == arr.length)
            {
                callback();
                return;
            }
            if(typeof arr[aIndex] === "number")
            {

                self.playNumAudio(arr[aIndex],function () {
                    aIndex++;
                    playDemonstrationAudio();

                });
            }
            else
            {
                self.playAudio(arr[aIndex],playDemonstrationAudio);
                aIndex++;
            }
        };

        playDemonstrationAudio(arr[aIndex],playDemonstrationAudio);
    },
    playNumAudio(num,callback)
    {

        if(num == 15)
        {
            this.playAudio('Audios/Game/Others/一组15秒',callback);
        }
        else if(num == 20)
        {
            this.playAudio('Audios/Game/Others/一组20秒',callback);
        }
        else if(num == 25)
        {
            this.playAudio('Audios/Game/Others/一组25秒',callback);
        }
        else if(num == 30)
        {
            this.playAudio('Audios/Game/Others/一组30秒',callback);
        }
        // let numArr = [];
        // this.appendNum(num,numArr);
        //
        // let aIndex = 0;
        // let playNum = function () {
        //     if(aIndex == numArr.length)
        //     {
        //         this.unschedule(playNum);
        //         // console.log('22222')
        //         this.scheduleOnce(function () {
        //             callback();
        //         }, 0.3);
        //
        //         return;
        //     }
        //     this.play(numArr[aIndex]);
        //     aIndex++;
        // };
        // this.schedule(playNum, 0.3);
    },
    appendNum(num,arr)
    {
        if(num == 10)
        {
            arr.push('Audios/Game/Nums/10');
            return;
        }

        if(num > 10 && num < 20)
        {

            let str = num.toString();
            arr.push('Audios/Game/Nums/10');
            arr.push('Audios/Game/Nums/'+str.substr(1,1));
            return;
        }


        let str = num.toString();

        arr.push('Audios/Game/Nums/'+str.substr(0,1));

        if(str.length>1)
        {
            arr.push('Audios/Game/Nums/10');

            if(str.substr(1,1)!='0')
            {
                arr.push('Audios/Game/Nums/'+str.substr(1,1));
            }
        }
    }
});
