
const DWTool = require("./DWTool");

class AlertManager {

    // 显示培养弹窗
    static showTrainAlert(targetUid, zIndex = 0) {

        DWTool.loadResPrefab("./prefabs/artist_train")
            .then((result) => {
                let artistTrain = cc.instantiate(result);
                artistTrain.zIndex = zIndex;
                artistTrain.getComponent('ArtistTrain').init(targetUid);
                let canvas = cc.find("Canvas");
                canvas.addChild(artistTrain);
            });
    };

    // 显示充值弹窗
    static showRechargeAlert(zIndex = 0) {

        DWTool.loadResPrefab("./prefabs/artist_train_alert")
            .then((result) => {
                let alert = cc.instantiate(result);
                alert.zIndex = zIndex;
                let canvas = cc.find("Canvas");
                canvas.addChild(alert);
            });
    };

    // 显示星探界面
    static showTalentAlert() {

        DWTool.loadResPrefab("./prefabs/share_dialog")
            .then((result) => {
                let talent = cc.instantiate(result);
                let canvas = cc.find("Canvas");
                canvas.addChild(talent);
                talent.getComponent('ShareDialog').showTalent();
            });
    };

    // 显示培养成功界面
    static showArtistTrainCompletion(data, zIndex = 0) {

        DWTool.loadResPrefab("./prefabs/artist_train_completion")
            .then((result) => {

                let alert = cc.instantiate(result);
                alert.zIndex = zIndex;
                let canvas = cc.find("Canvas");
                canvas.addChild(alert);
                alert.getComponent('ArtistTrainCompletion').init(data);
            });
    };

    // 艺人没有职业时弹窗提示
    static showArtistTrainNoJob(cb, zIndex = 0) {
        DWTool.loadResPrefab("./prefabs/artist_train_no_job")
            .then((result) => {

                let alert = cc.instantiate(result);
                alert.zIndex = zIndex;
                let canvas = cc.find("Canvas");
                canvas.addChild(alert);
                alert.getComponent('ArtistTrainNoJob').init(cb);
            });
    }

    // 显示选择驻场艺人
    static showArtistResident(buildingInfo, uid, isSelf) {
        DWTool.loadResPrefab("./prefabs/artist_resident")
            .then((result) => {
                let artistResident = cc.instantiate(result);
                let canvas = cc.find("Canvas");
                artistResident.getComponent('ArtistResident').init(buildingInfo, uid, isSelf);
                canvas.addChild(artistResident);
            });
    }

    static showNoticePopup() {
        DWTool.loadResPrefab("./prefabs/notice_popup")
            .then((result) => {
                let alert = cc.instantiate(result);
                let canvas = cc.find("Canvas");
                canvas.addChild(alert);
            });
    }

    // 显示亲密度不够的弹窗
    static showIntimacyBotEnough() {

        DWTool.loadResPrefab("./prefabs/intimacy_not_enough")
            .then((result) => {
                let alert = cc.instantiate(result);
                let canvas = cc.find("Canvas");
                canvas.addChild(alert);
            });
    }

    // 显示亲密度不够的弹窗
    static showArtistReportSuccess(coinCount) {

        DWTool.loadResPrefab("./prefabs/artist_report_success")
            .then((result) => {
                let alert = cc.instantiate(result);
                let canvas = cc.find("Canvas");
                canvas.addChild(alert);
                alert.getComponent('ArtistReportSuccess').init(coinCount);
            });
    }

    // 显示艺人操作弹窗
    static showArtistOperationAlert(buildingInfo, uid, isSelf, artistData) {
        DWTool.loadResPrefab("./prefabs/artist_operation_alert")
            .then((result) => {
                let alert = cc.instantiate(result);
                let canvas = cc.find("Canvas");
                canvas.addChild(alert);
                alert.getComponent('ArtistOperationAlert').init(buildingInfo, uid, isSelf, artistData);
            });
    }
}

module.exports = AlertManager;