@ives_xxz/framework 2.3.15 → 2.3.16

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.
@@ -1,9 +1,9 @@
1
- import { FWManager } from "./FWManager";
2
- import { FWQueue } from "../utils/FWQueue";
3
- import { FrameworkBase } from "../FrameworkBase";
4
- import { PerformanceMonitor } from "../expand/FWDecorator";
1
+ import { FWManager } from './FWManager';
2
+ import { FWQueue } from '../utils/FWQueue';
3
+ import { FrameworkBase } from '../FrameworkBase';
4
+ import { PerformanceMonitor } from '../expand/FWDecorator';
5
5
 
6
- const ADD_EXTERNAL_REFERENCE: string = "addExternalReference";
6
+ const ADD_EXTERNAL_REFERENCE: string = 'addExternalReference';
7
7
 
8
8
  export class FWLayerManager extends FWManager implements FW.LayerManager {
9
9
  private resourceManager: FWLayerResourceManager;
@@ -43,7 +43,7 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
43
43
  /**
44
44
  * 异步打开Layer
45
45
  */
46
- @PerformanceMonitor("openAsync")
46
+ @PerformanceMonitor('openAsync')
47
47
  async openAsync<Ctr extends FW.LayerController = FW.LayerController>(
48
48
  data: FW.LayerOpenArgs,
49
49
  ): Promise<Ctr> {
@@ -56,9 +56,7 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
56
56
  /**
57
57
  * 同步打开
58
58
  */
59
- openSync<Ctr extends FW.LayerController = FW.LayerController>(
60
- data: FW.LayerOpenArgs,
61
- ): Ctr {
59
+ openSync<Ctr extends FW.LayerController = FW.LayerController>(data: FW.LayerOpenArgs): Ctr {
62
60
  if (this.debug) {
63
61
  FW.Log.error(`同步打开Layer ->`, cc.js.getClassName(data.type));
64
62
  }
@@ -68,14 +66,10 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
68
66
  /**
69
67
  * 显示layer并恢复所有节点事件
70
68
  */
71
- displayLayer<Ctr extends FW.LayerController = FW.LayerController>(
72
- ctr: Ctr,
73
- ): Ctr {
69
+ displayLayer<Ctr extends FW.LayerController = FW.LayerController>(ctr: Ctr): Ctr {
74
70
  const layerData = ctr.layerData;
75
71
 
76
- if (
77
- !this.dataManager.getLayerMap().has(ctr.layerData.controllerConstructor)
78
- ) {
72
+ if (!this.dataManager.getLayerMap().has(ctr.layerData.controllerConstructor)) {
79
73
  FW.Log.warn(`display layer failed,layer name : ${layerData.layerName}`);
80
74
  return;
81
75
  }
@@ -95,13 +89,9 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
95
89
  /**
96
90
  * 隐藏layer并隐藏所有节点事件
97
91
  */
98
- hideLayer<Ctr extends FW.LayerController = FW.LayerController>(
99
- ctr: Ctr,
100
- ): Ctr {
92
+ hideLayer<Ctr extends FW.LayerController = FW.LayerController>(ctr: Ctr): Ctr {
101
93
  const layerData = ctr.layerData;
102
- if (
103
- !this.dataManager.getLayerMap().has(ctr.layerData.controllerConstructor)
104
- ) {
94
+ if (!this.dataManager.getLayerMap().has(ctr.layerData.controllerConstructor)) {
105
95
  FW.Log.warn(`hide layer failed,layer name : ${layerData.layerName}`);
106
96
  return;
107
97
  }
@@ -145,9 +135,7 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
145
135
  for (let i = 0; i < count; i++) {
146
136
  let layerData = this.stackManager.pop();
147
137
  let ctr = layerData.controller;
148
- if (
149
- !this.dataManager.getLayerMap().has(layerData.controllerConstructor)
150
- ) {
138
+ if (!this.dataManager.getLayerMap().has(layerData.controllerConstructor)) {
151
139
  return;
152
140
  }
153
141
  if (cc.isValid(ctr.layer?.node)) {
@@ -178,18 +166,14 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
178
166
  /**
179
167
  * 关闭layer
180
168
  */
181
- async close<Ctr extends FW.LayerController = FW.LayerController>(
182
- ctr: Ctr,
183
- ): Promise<Ctr> {
169
+ async close<Ctr extends FW.LayerController = FW.LayerController>(ctr: Ctr): Promise<Ctr> {
184
170
  if (!ctr) return;
185
171
 
186
172
  return FW.Entry.promiseMgr.execute(async (resolve, reject) => {
187
173
  let layerData = ctr.layerData;
188
174
 
189
175
  if (this.debug) {
190
- FW.Log.error(
191
- `${cc.js.getClassName(layerData?.controllerConstructor)} ->关闭Layer`,
192
- );
176
+ FW.Log.error(`${cc.js.getClassName(layerData?.controllerConstructor)} ->关闭Layer`);
193
177
  }
194
178
 
195
179
  if (cc.isValid(ctr.layer?.node)) {
@@ -289,8 +273,7 @@ export class FWLayerData<T extends FW.LayerController = FW.LayerController>
289
273
  class FWLayerDataManager {
290
274
  private layerMap: Map<new () => FW.LayerController, FWLayerData> = new Map();
291
275
  private layerRegistry: Set<new () => FW.LayerController> = new Set();
292
- private layerControllerFactory: FWLayerControllerFactory =
293
- new FWLayerControllerFactory();
276
+ private layerControllerFactory: FWLayerControllerFactory = new FWLayerControllerFactory();
294
277
  /**
295
278
  * 获取已存在的Layer
296
279
  */
@@ -418,7 +401,7 @@ class FWLayerDataManager {
418
401
  try {
419
402
  cb?.(null);
420
403
  } catch (e) {
421
- FW.Log.error("External ref update callback error:", e);
404
+ FW.Log.error('External ref update callback error:', e);
422
405
  }
423
406
  });
424
407
  layerData.externalReference.clear();
@@ -443,8 +426,7 @@ class FWLayerDataManager {
443
426
  }
444
427
 
445
428
  class FWLayerCreateManager {
446
- private lifecycleManager: FWLayerLifecycleManager =
447
- new FWLayerLifecycleManager();
429
+ private lifecycleManager: FWLayerLifecycleManager = new FWLayerLifecycleManager();
448
430
 
449
431
  /**
450
432
  * 创建Layer节点
@@ -526,12 +508,7 @@ class FWLayerOpenManager {
526
508
  return proxy as Ctr;
527
509
  }
528
510
 
529
- if (
530
- this.queueManager.handlePopupQueue(
531
- layerData,
532
- this.dataManager.getLayerMap(),
533
- )
534
- ) {
511
+ if (this.queueManager.handlePopupQueue(layerData, this.dataManager.getLayerMap())) {
535
512
  return undefined;
536
513
  }
537
514
 
@@ -540,9 +517,7 @@ class FWLayerOpenManager {
540
517
  return this.asyncGenerationLayer(layerData, data);
541
518
  }
542
519
 
543
- openLayerSync<Ctr extends FW.LayerController = FW.LayerController>(
544
- data: FW.LayerOpenArgs,
545
- ): Ctr {
520
+ openLayerSync<Ctr extends FW.LayerController = FW.LayerController>(data: FW.LayerOpenArgs): Ctr {
546
521
  if (!this.validateOpenData(data)) {
547
522
  return undefined;
548
523
  }
@@ -563,12 +538,7 @@ class FWLayerOpenManager {
563
538
  return proxy as Ctr;
564
539
  }
565
540
 
566
- if (
567
- this.queueManager.handlePopupQueue(
568
- layerData,
569
- this.dataManager.getLayerMap(),
570
- )
571
- ) {
541
+ if (this.queueManager.handlePopupQueue(layerData, this.dataManager.getLayerMap())) {
572
542
  return undefined;
573
543
  }
574
544
 
@@ -591,9 +561,10 @@ class FWLayerOpenManager {
591
561
  /**
592
562
  * 异步生成Layer
593
563
  */
594
- private async asyncGenerationLayer<
595
- Ctr extends FW.LayerController = FW.LayerController,
596
- >(layerData: FWLayerData, data: FW.LayerOpenArgs): Promise<Ctr> {
564
+ private async asyncGenerationLayer<Ctr extends FW.LayerController = FW.LayerController>(
565
+ layerData: FWLayerData,
566
+ data: FW.LayerOpenArgs,
567
+ ): Promise<Ctr> {
597
568
  try {
598
569
  this.stateManager.setState(
599
570
  layerData.controllerConstructor,
@@ -626,9 +597,10 @@ class FWLayerOpenManager {
626
597
  /**
627
598
  * 同步创建Layer
628
599
  */
629
- private syncGenerationLayer<
630
- Ctr extends FW.LayerController = FW.LayerController,
631
- >(layerData: FWLayerData, data: FW.LayerOpenArgs): Ctr {
600
+ private syncGenerationLayer<Ctr extends FW.LayerController = FW.LayerController>(
601
+ layerData: FWLayerData,
602
+ data: FW.LayerOpenArgs,
603
+ ): Ctr {
632
604
  try {
633
605
  this.stateManager.setState(
634
606
  layerData.controllerConstructor,
@@ -666,6 +638,12 @@ class FWLayerOpenManager {
666
638
  data.parent,
667
639
  data.position,
668
640
  );
641
+
642
+ if (!layer) {
643
+ this.dataManager.removeFromRegistry(layerData.controllerConstructor);
644
+ return;
645
+ }
646
+
669
647
  const layerName = cc.js.getClassName(layer);
670
648
 
671
649
  this.dataManager.setupLayerData(layerData, res, layer, layerName);
@@ -674,29 +652,22 @@ class FWLayerOpenManager {
674
652
 
675
653
  this.createManager.setupLayerLifecycle(layer, layerData.controller);
676
654
 
677
- if (
678
- layerData.controller.layerType !== FW.SystemDefine.FWLayerType.PERMANENT
679
- ) {
655
+ if (layerData.controller.layerType !== FW.SystemDefine.FWLayerType.PERMANENT) {
680
656
  this.stackManager.push(layerData);
681
657
  }
682
658
 
683
659
  this.dataManager.removeFromRegistry(layerData.controllerConstructor);
684
660
 
685
- layerData.controllerProxy =
686
- this.dataManager.createControllerProxy(layerData);
661
+ layerData.controllerProxy = this.dataManager.createControllerProxy(layerData);
687
662
 
688
663
  return layerData.controllerProxy as Ctr;
689
664
  }
690
665
  }
691
666
 
692
667
  class FWLayerResourceManager {
693
- async loadLayerAsync(
694
- layerData: FWLayerData,
695
- ): Promise<{ asset: cc.Prefab; uuid: string }> {
668
+ async loadLayerAsync(layerData: FWLayerData): Promise<{ asset: cc.Prefab; uuid: string }> {
696
669
  try {
697
- const res = await FW.Entry.resMgr.loadAssetData<cc.Prefab>(
698
- layerData.layerAssetProperty,
699
- );
670
+ const res = await FW.Entry.resMgr.loadAssetData<cc.Prefab>(layerData.layerAssetProperty);
700
671
  if (!res) return undefined;
701
672
  res.user = layerData.layerName;
702
673
  res.autoRelease = layerData.controller.autoRelease;
@@ -711,9 +682,7 @@ class FWLayerResourceManager {
711
682
  loadLayerSync(layerData: FWLayerData): { asset: cc.Prefab; uuid: string } {
712
683
  layerData.layerAssetProperty.bundle =
713
684
  layerData.layerAssetProperty.bundle || FW.Entry.bundleName;
714
- const res = FW.Entry.resMgr.getAssetData<cc.Prefab>(
715
- layerData.layerAssetProperty,
716
- );
685
+ const res = FW.Entry.resMgr.getAssetData<cc.Prefab>(layerData.layerAssetProperty);
717
686
  res.user = layerData.layerName;
718
687
  res.autoRelease = layerData.controller.autoRelease;
719
688
  res.dependentBundle = layerData.controller.layerAssetProperty.bundle;
@@ -725,9 +694,7 @@ class FWLayerStackManager {
725
694
  private layerStack: FWLayerData[] = [];
726
695
 
727
696
  push(layerData: FWLayerData): void {
728
- if (
729
- layerData.controller.layerType !== FW.SystemDefine.FWLayerType.PERMANENT
730
- ) {
697
+ if (layerData.controller.layerType !== FW.SystemDefine.FWLayerType.PERMANENT) {
731
698
  this.layerStack.push(layerData);
732
699
  }
733
700
  }
@@ -737,9 +704,7 @@ class FWLayerStackManager {
737
704
  }
738
705
 
739
706
  remove(layerData: FWLayerData): void {
740
- const index = this.layerStack.findIndex(
741
- (v) => v.controller === layerData.controller,
742
- );
707
+ const index = this.layerStack.findIndex((v) => v.controller === layerData.controller);
743
708
  if (index > -1) {
744
709
  this.layerStack.splice(index, 1);
745
710
  }
@@ -755,24 +720,16 @@ class FWLayerStackManager {
755
720
  }
756
721
 
757
722
  class FWLayerStateManager {
758
- private layerStates = new Map<
759
- new () => FW.LayerController,
760
- FW.SystemDefine.FWLayerState
761
- >();
723
+ private layerStates = new Map<new () => FW.LayerController, FW.SystemDefine.FWLayerState>();
762
724
  constructor() {}
763
- setState(
764
- ctrType: new () => FW.LayerController,
765
- state: FW.SystemDefine.FWLayerState,
766
- ): void {
725
+ setState(ctrType: new () => FW.LayerController, state: FW.SystemDefine.FWLayerState): void {
767
726
  if (FW.Entry.layerMgr.isDebug()) {
768
727
  FW.Log.debug(`${cc.js.getClassName(ctrType)}->更新状态${state}`);
769
728
  }
770
729
  this.layerStates.set(ctrType, state);
771
730
  }
772
731
 
773
- getState(
774
- ctrType: new () => FW.LayerController,
775
- ): FW.SystemDefine.FWLayerState {
732
+ getState(ctrType: new () => FW.LayerController): FW.SystemDefine.FWLayerState {
776
733
  return this.layerStates.get(ctrType) || FW.SystemDefine.FWLayerState.CLOSED;
777
734
  }
778
735
 
@@ -807,9 +764,7 @@ class FWLayerQueueManager {
807
764
  layerData: FWLayerData,
808
765
  layerMap: Map<new () => FW.LayerController, FWLayerData>,
809
766
  ): boolean {
810
- if (
811
- layerData.controller.layerType === FW.SystemDefine.FWLayerType.POPUP_QUEUE
812
- ) {
767
+ if (layerData.controller.layerType === FW.SystemDefine.FWLayerType.POPUP_QUEUE) {
813
768
  const hasNonPermanentLayers = Array.from(layerMap.values()).some(
814
769
  (value) => value.layerType === FW.SystemDefine.FWLayerType.POPUP_QUEUE,
815
770
  );
@@ -849,44 +804,44 @@ class FWLayerQueueManager {
849
804
 
850
805
  class FWLayerLifecycleManager {
851
806
  setupLifecycleHooks(layer: FW.Layer, ctr: FW.LayerController): void {
852
- const originalOnLoad = layer["onLoad"];
853
- layer["onLoad"] = function () {
807
+ const originalOnLoad = layer['onLoad'];
808
+ layer['onLoad'] = function () {
854
809
  originalOnLoad?.call(this);
855
810
  ctr.onLoad?.();
856
811
  };
857
812
 
858
- const originalStart = layer["start"];
859
- layer["start"] = function () {
813
+ const originalStart = layer['start'];
814
+ layer['start'] = function () {
860
815
  originalStart?.call(this);
861
816
  ctr.onStart?.();
862
817
  };
863
818
 
864
- const originalOnEnable = layer["onEnable"];
865
- layer["onEnable"] = function () {
819
+ const originalOnEnable = layer['onEnable'];
820
+ layer['onEnable'] = function () {
866
821
  originalOnEnable?.call(this);
867
822
  ctr.onEnable?.();
868
823
  };
869
824
 
870
- const originalOnDisable = layer["onDisable"];
871
- layer["onDisable"] = function () {
825
+ const originalOnDisable = layer['onDisable'];
826
+ layer['onDisable'] = function () {
872
827
  originalOnDisable?.call(this);
873
828
  ctr.onDisable?.();
874
829
  };
875
830
 
876
- const originalOnDestroy = layer["onDestroy"];
877
- layer["onDestroy"] = function () {
831
+ const originalOnDestroy = layer['onDestroy'];
832
+ layer['onDestroy'] = function () {
878
833
  originalOnDestroy?.call(this);
879
834
  ctr.onDestroy?.();
880
835
  };
881
836
 
882
- const originalUpdate = layer["update"];
883
- layer["update"] = function (dt: number) {
837
+ const originalUpdate = layer['update'];
838
+ layer['update'] = function (dt: number) {
884
839
  originalUpdate?.call(this, dt);
885
840
  ctr.onUpdate?.(dt);
886
841
  };
887
842
 
888
- const originalLateUpdate = layer["lateUpdate"];
889
- layer["lateUpdate"] = function () {
843
+ const originalLateUpdate = layer['lateUpdate'];
844
+ layer['lateUpdate'] = function () {
890
845
  originalLateUpdate?.call(this);
891
846
  ctr.onLateUpdate?.();
892
847
  };
@@ -897,9 +852,7 @@ class FWLayerControllerFactory {
897
852
  /**
898
853
  * 创建并初始化 LayerController
899
854
  */
900
- createController<Ctr extends FW.LayerController = FW.LayerController>(
901
- type: new () => Ctr,
902
- ): Ctr {
855
+ createController<Ctr extends FW.LayerController = FW.LayerController>(type: new () => Ctr): Ctr {
903
856
  const ctr = new type();
904
857
 
905
858
  ctr.initializeDependencies?.();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ives_xxz/framework",
3
- "version": "2.3.15",
3
+ "version": "2.3.16",
4
4
  "description": "cocoscreator 2.x mvc framework",
5
5
  "main": "index.js",
6
6
  "keywords": ["123456"],