import { asyncDelay, onHomeworkFinish, callMiddleLayerFunction } from "../script/util";
import { MyCocosSceneComponent } from "../script/MyCocosSceneComponent";

const { ccclass, property } = cc._decorator;

@ccclass
export default class SceneComponent extends MyCocosSceneComponent {

    addPreloadImage() {
        // TODO 根据自己的配置预加载图片资源
    }

    addPreloadAudio() {
        // TODO 根据自己的配置预加载音频资源
    }

    addPreloadAnima() {

    }

    @property(cc.Node)
    page1: cc.Node = null;

    onLoadEnd() {
        // TODO 加载完成后的逻辑写在这里, 下面的代码仅供参考
        this.initData();
        this.initView();
        this.initListener();
    }

    _cantouch = null;
    initData() {
        // 所有全局变量 默认都是null 
        this._cantouch = true;
    }

    initView() {
        this.toPage1();
    }

    initListener() {
        this.node.on('page1_btn_click', (event) => {
            event.stopPropagation();
            let data = event.getUserData();
            console.log(JSON.stringify(data));
            callMiddleLayerFunction('NS_select_stage', { stageId: data.id }, (result) => {
                console.log(JSON.stringify(result));
            });
        });
    }
    toPage1(testData = null) {
        this.page1.active = true;
        this.page1.getComponent('page1').setData(this.data)
    }

    playLocalAudio(audioName) {
        const audio = cc.find(`Canvas/res/audio/${audioName}`).getComponent(cc.AudioSource);
        return new Promise((resolve, reject) => {
            const id = cc.audioEngine.playEffect(audio.clip, false);
            cc.audioEngine.setFinishCallback(id, () => {
                resolve(id);
            });
        })
    }
}
