import { ProgressBar } from "cc";
import { _decorator } from "cc";
import { Label } from "cc";
import { GUI } from "../UIConfig";
import NoviceManager from "../../manager/NoviceManager";
import { JNGLayerBase } from "../../components/JNComponent";
import { app } from "../../App";
import { lerp } from "cc";
import { Env, EnvCurrent } from "../../Env";
const { ccclass, property } = _decorator;

@ccclass('LoadingView')
export default class LoadingView extends JNGLayerBase {
    
    @property(ProgressBar)
    progress:ProgressBar;

    @property(Label)
    label:Label;

    //是否加载成功
    isOk:boolean = false;

    update(dt:number){
        if(app.loading.getCurrentInfo())
            this.label.string = app.loading.getCurrentInfo().title;
        this.progress.progress = lerp(this.progress.progress,app.loading.progress(),dt);
        if(!this.isOk && app.loading.isAllSuccess()){
            this.isOk = true;
            this.onSuccess();
        }
    }

    async onSuccess(){

        await NoviceManager.getIns().onStart();
        
        //关闭加载页
        if(EnvCurrent == Env.Server){
            //打开服务器主页
            await app.layer.Open(GUI.ServerMain);
        }else{
            await app.layer.Open(GUI.Main);
        }
        app.layer.Close(GUI.Loading);

    }

}