@ives_xxz/framework 1.2.19 → 1.2.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/FW.d.ts CHANGED
@@ -636,7 +636,7 @@ declare namespace FW {
636
636
  */
637
637
  closeFromLayerName(name: string | string[]);
638
638
 
639
- getLayerMap(): Map<string, LayerData>;
639
+ getLayerMap(): Map<new () => LayerController, LayerData>;
640
640
  };
641
641
 
642
642
  /**
@@ -34,7 +34,7 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
34
34
  /**
35
35
  * 当前已经打开的layer缓存容器
36
36
  */
37
- private layerMap: Map<string, FW.LayerData>;
37
+ private layerMap: Map<new () => FW.LayerController, FW.LayerData>;
38
38
 
39
39
  /**
40
40
  * 当前所有打开Layer注册表
@@ -47,7 +47,7 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
47
47
 
48
48
  public initialize(): void {
49
49
  this.layerQueue = new FWQueue<FW.LayerData>();
50
- this.layerMap = new Map<string, FW.LayerData>();
50
+ this.layerMap = new Map<new () => FW.LayerController, FW.LayerData>();
51
51
  this.layerRegistry = new Set<new () => FW.LayerController>();
52
52
  this.layerStack = [];
53
53
  }
@@ -137,10 +137,11 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
137
137
  layerData.controller = ctr;
138
138
  layerData.controllerName = ctrName;
139
139
 
140
- this.layerMap.set(ctrName, layerData);
140
+ this.layerMap.set(data.type, layerData);
141
+ FWLog.debug('打开Layer -> ', layerData?.controllerName, this.layerMap.has(data.type));
141
142
 
142
143
  if (this.layerRegistry.has(data.type)) {
143
- return this.layerMap.get(ctrName).controllerProxy as Ctr;
144
+ return this.layerMap.get(data.type).controllerProxy as Ctr;
144
145
  }
145
146
 
146
147
  this.layerRegistry.add(data.type);
@@ -228,10 +229,10 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
228
229
  layerData.controller = ctr;
229
230
  layerData.controllerName = ctrName;
230
231
 
231
- this.layerMap.set(ctrName, layerData);
232
+ this.layerMap.set(data.type, layerData);
232
233
 
233
234
  if (this.layerRegistry.has(data.type)) {
234
- return this.layerMap.get(ctrName).controllerProxy as Ctr;
235
+ return this.layerMap.get(data.type).controllerProxy as Ctr;
235
236
  }
236
237
 
237
238
  this.layerRegistry.add(data.type);
@@ -300,7 +301,10 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
300
301
  */
301
302
  displayLayer<Ctr extends FW.LayerController = FW.LayerController>(ctr: Ctr): Ctr {
302
303
  const layerData = ctr.layerData;
303
- if (!this.layerMap.has(layerData.controllerName)) {
304
+
305
+ FWLog.debug('关闭Layer -> ', layerData?.controllerName);
306
+
307
+ if (!this.layerMap.has(ctr.layerData.controllerConstructor)) {
304
308
  FWLog.warn(`display layer failed,layer name : ${layerData.layerName}`);
305
309
  return;
306
310
  }
@@ -322,7 +326,7 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
322
326
  */
323
327
  hideLayer<Ctr extends FW.LayerController = FW.LayerController>(ctr: Ctr): Ctr {
324
328
  const layerData = ctr.layerData;
325
- if (!this.layerMap.has(layerData.controllerName)) {
329
+ if (!this.layerMap.has(ctr.layerData.controllerConstructor)) {
326
330
  FWLog.warn(`hide layer failed,layer name : ${layerData.layerName}`);
327
331
  return;
328
332
  }
@@ -364,7 +368,7 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
364
368
  for (let i = 0; i < count; i++) {
365
369
  let layerData = this.layerStack.pop();
366
370
  let ctr = layerData.controller;
367
- if (!this.layerMap.has(layerData.controllerName)) {
371
+ if (!this.layerMap.has(layerData.controllerConstructor)) {
368
372
  return;
369
373
  }
370
374
  if (cc.isValid(ctr.layer?.node)) {
@@ -374,7 +378,7 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
374
378
  }
375
379
  this.notifyExternalRefUpdates(ctr.layerData);
376
380
  }
377
- this.layerMap.delete(layerData.controllerName);
381
+ this.layerMap.delete(layerData.controllerConstructor);
378
382
  }
379
383
  }
380
384
 
@@ -399,7 +403,9 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
399
403
  this.notifyExternalRefUpdates(ctr.layerData);
400
404
  }
401
405
 
402
- this.layerMap.delete(layerData.controllerName);
406
+ FWLog.debug('closeLayer', layerData.controllerConstructor);
407
+
408
+ this.layerMap.delete(layerData.controllerConstructor);
403
409
  this.layerRegistry.delete(ctr.layerData.controllerConstructor);
404
410
 
405
411
  const index = this.layerStack.findIndex((v) => {
@@ -512,11 +518,12 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
512
518
  };
513
519
  }
514
520
 
515
- getLayerMap(): Map<string, FW.LayerData> {
521
+ getLayerMap(): Map<new () => FW.LayerController, FW.LayerData> {
516
522
  return this.layerMap;
517
523
  }
518
524
 
519
525
  public clear() {
526
+ FWLog.debug('调用clear');
520
527
  this.layerQueue = new FWQueue();
521
528
  this.layerStack = [];
522
529
  this.layerRegistry = new Set<new () => FW.LayerController>();
@@ -525,6 +532,7 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
525
532
  }
526
533
 
527
534
  public onDestroy(): void {
535
+ FWLog.debug('调用onDestroy');
528
536
  this.layerMap.clear();
529
537
  this.layerMap = null;
530
538
  this.layerQueue = null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ives_xxz/framework",
3
- "version": "1.2.19",
3
+ "version": "1.2.21",
4
4
  "description": "cocoscreator 2.x mvc framework",
5
5
  "main": "index.js",
6
6
  "keywords": [