123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import { find, instantiate, Node, Prefab } from "cc";
- import { BaseLayer } from "../../common/BaseLayer";
- import { constants } from "../data/constants";
- import { resManager } from "./resManager";
- export class layerManager {
- private static _instance: layerManager;
- private constructor() { }
- public static get instance(): layerManager {
- if (!this._instance) {
- this._instance = new layerManager();
- }
- return this._instance;
- }
- layer1: Node;
- layerHint: Node;
- loadLayers(onProgress?: Function, onComplete?: Function) {
- let arr = [
- constants.layers.StartLayer.path,
- constants.layers.LevelLayer.path,
- ];
- resManager.instance.loadAssetByPathArr(constants.bundles.common.name, arr, Prefab, onProgress, onComplete);
- }
- init(layer1: Node, layerHint: Node) {
- this.layer1 = layer1;
- this.layerHint = layerHint;
- }
- createNotice(content) {
- // 显示一条提示信息
- let noticeLayer = find(constants.layers.NoticeLayer.name, this.layerHint);
- if (noticeLayer) {
- noticeLayer.getComponent(constants.layers.NoticeLayer.name).createNotice(content);
- }
- }
- openLayer(layer: any, obj?: any, cb?: Function) {
- resManager.instance.loadAsset(layer.bundle, layer.path, Prefab, null, (err, prefab) => {
- if (err) {
- console.log("LayerManager.openLayer error:" + err.message, layer, err);
- return;
- }
- let name = layer.name;
- let node = instantiate(prefab);
- let com = node.addComponent(name);
- com.obj = obj;
- com.cb = cb;
- com.layerName = name;
- if (layer.name == constants.layers.NoticeLayer.name) {
- node.parent = this.layerHint;
- } else {
- node.parent = this.layer1;
- }
- console.log("openLayer " + name, obj);
- });
- }
- closeLayer(layer: BaseLayer) {
- let layerName = layer.layerName;
- layer.node.destroy();
- }
- }
|