import { _decorator, Component, instantiate, Node, Prefab, Widget } from 'cc' import PrefabLoader from '../utils/PrefabLoader' import { GameConfig } from '../../game/config/GameConfig' import DialogBase from './DialogBase' const { ccclass, property } = _decorator @ccclass('DarkLayer') export default class DarkLayer extends Component { private static prefab: Prefab onLoad() { this.getComponent(Widget).target = DialogBase.GetRootCanvas() } start() {} public static preLoad(): Promise { return new Promise((resolve, reject) => { PrefabLoader.loadPrefab( `${GameConfig.GameName}/share/uicomponent/DarkLayer`, (loadedResource) => { DarkLayer.prefab = loadedResource resolve() } ) }) } public static getDarkLayer() { let dialogNode: Node = instantiate(DarkLayer.prefab) return dialogNode } }