@ives_xxz/framework 2.1.34 → 2.1.35

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;
@@ -22,7 +22,7 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
22
22
  this.createManager = new FWLayerCreateManager();
23
23
  this.stackManager = new FWLayerStackManager();
24
24
  this.queueManager = new FWLayerQueueManager();
25
- this.stateManager = new FWLayerStateManager(this.debug);
25
+ this.stateManager = new FWLayerStateManager();
26
26
  this.openManager = new FWLayerOpenManager(
27
27
  this.dataManager,
28
28
  this.resourceManager,
@@ -33,35 +33,49 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
33
33
  );
34
34
  }
35
35
 
36
- openDetailsLog() {
36
+ openDebug() {
37
37
  this.debug = true;
38
38
  }
39
+
40
+ isDebug() {
41
+ return this.debug;
42
+ }
39
43
  /**
40
44
  * 异步打开Layer
41
45
  */
42
- @PerformanceMonitor('openAsync')
46
+ @PerformanceMonitor("openAsync")
43
47
  async openAsync<Ctr extends FW.LayerController = FW.LayerController>(
44
48
  data: FW.LayerOpenArgs,
45
49
  ): Promise<Ctr> {
46
- if (this.debug) FW.Log.error('异步打开Layer -> 查看调用堆栈');
50
+ if (this.debug) {
51
+ FW.Log.error(`异步打开Layer ->`, cc.js.getClassName(data.type));
52
+ }
47
53
  return this.openManager.openLayerAsync(data) as Promise<Ctr>;
48
54
  }
49
55
 
50
56
  /**
51
57
  * 同步打开
52
58
  */
53
- openSync<Ctr extends FW.LayerController = FW.LayerController>(data: FW.LayerOpenArgs): Ctr {
54
- if (this.debug) FW.Log.error('同步打开Layer -> 查看调用堆栈');
59
+ openSync<Ctr extends FW.LayerController = FW.LayerController>(
60
+ data: FW.LayerOpenArgs,
61
+ ): Ctr {
62
+ if (this.debug) {
63
+ FW.Log.error(`同步打开Layer ->`, cc.js.getClassName(data.type));
64
+ }
55
65
  return this.openManager.openLayerSync(data) as Ctr;
56
66
  }
57
67
 
58
68
  /**
59
69
  * 显示layer并恢复所有节点事件
60
70
  */
61
- displayLayer<Ctr extends FW.LayerController = FW.LayerController>(ctr: Ctr): Ctr {
71
+ displayLayer<Ctr extends FW.LayerController = FW.LayerController>(
72
+ ctr: Ctr,
73
+ ): Ctr {
62
74
  const layerData = ctr.layerData;
63
75
 
64
- if (!this.dataManager.getLayerMap().has(ctr.layerData.controllerConstructor)) {
76
+ if (
77
+ !this.dataManager.getLayerMap().has(ctr.layerData.controllerConstructor)
78
+ ) {
65
79
  FW.Log.warn(`display layer failed,layer name : ${layerData.layerName}`);
66
80
  return;
67
81
  }
@@ -81,9 +95,13 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
81
95
  /**
82
96
  * 隐藏layer并隐藏所有节点事件
83
97
  */
84
- hideLayer<Ctr extends FW.LayerController = FW.LayerController>(ctr: Ctr): Ctr {
98
+ hideLayer<Ctr extends FW.LayerController = FW.LayerController>(
99
+ ctr: Ctr,
100
+ ): Ctr {
85
101
  const layerData = ctr.layerData;
86
- if (!this.dataManager.getLayerMap().has(ctr.layerData.controllerConstructor)) {
102
+ if (
103
+ !this.dataManager.getLayerMap().has(ctr.layerData.controllerConstructor)
104
+ ) {
87
105
  FW.Log.warn(`hide layer failed,layer name : ${layerData.layerName}`);
88
106
  return;
89
107
  }
@@ -127,7 +145,9 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
127
145
  for (let i = 0; i < count; i++) {
128
146
  let layerData = this.stackManager.pop();
129
147
  let ctr = layerData.controller;
130
- if (!this.dataManager.getLayerMap().has(layerData.controllerConstructor)) {
148
+ if (
149
+ !this.dataManager.getLayerMap().has(layerData.controllerConstructor)
150
+ ) {
131
151
  return;
132
152
  }
133
153
  if (cc.isValid(ctr.layer?.node)) {
@@ -158,7 +178,9 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
158
178
  /**
159
179
  * 关闭layer
160
180
  */
161
- async close<Ctr extends FW.LayerController = FW.LayerController>(ctr: Ctr): Promise<Ctr> {
181
+ async close<Ctr extends FW.LayerController = FW.LayerController>(
182
+ ctr: Ctr,
183
+ ): Promise<Ctr> {
162
184
  if (!ctr) return;
163
185
 
164
186
  return FW.Entry.promiseMgr.execute(async (resolve, reject) => {
@@ -261,7 +283,8 @@ export class FWLayerData<T extends FW.LayerController = FW.LayerController>
261
283
  class FWLayerDataManager {
262
284
  private layerMap: Map<new () => FW.LayerController, FWLayerData> = new Map();
263
285
  private layerRegistry: Set<new () => FW.LayerController> = new Set();
264
- private layerControllerFactory: FWLayerControllerFactory = new FWLayerControllerFactory();
286
+ private layerControllerFactory: FWLayerControllerFactory =
287
+ new FWLayerControllerFactory();
265
288
  /**
266
289
  * 获取已存在的Layer
267
290
  */
@@ -389,7 +412,7 @@ class FWLayerDataManager {
389
412
  try {
390
413
  cb?.(null);
391
414
  } catch (e) {
392
- FW.Log.error('External ref update callback error:', e);
415
+ FW.Log.error("External ref update callback error:", e);
393
416
  }
394
417
  });
395
418
  layerData.externalReference.clear();
@@ -414,7 +437,8 @@ class FWLayerDataManager {
414
437
  }
415
438
 
416
439
  class FWLayerCreateManager {
417
- private lifecycleManager: FWLayerLifecycleManager = new FWLayerLifecycleManager();
440
+ private lifecycleManager: FWLayerLifecycleManager =
441
+ new FWLayerLifecycleManager();
418
442
 
419
443
  /**
420
444
  * 创建Layer节点
@@ -496,7 +520,12 @@ class FWLayerOpenManager {
496
520
  return proxy as Ctr;
497
521
  }
498
522
 
499
- if (this.queueManager.handlePopupQueue(layerData, this.dataManager.getLayerMap())) {
523
+ if (
524
+ this.queueManager.handlePopupQueue(
525
+ layerData,
526
+ this.dataManager.getLayerMap(),
527
+ )
528
+ ) {
500
529
  return undefined;
501
530
  }
502
531
 
@@ -505,7 +534,9 @@ class FWLayerOpenManager {
505
534
  return this.asyncGenerationLayer(layerData, data);
506
535
  }
507
536
 
508
- openLayerSync<Ctr extends FW.LayerController = FW.LayerController>(data: FW.LayerOpenArgs): Ctr {
537
+ openLayerSync<Ctr extends FW.LayerController = FW.LayerController>(
538
+ data: FW.LayerOpenArgs,
539
+ ): Ctr {
509
540
  if (!this.validateOpenData(data)) {
510
541
  return undefined;
511
542
  }
@@ -526,7 +557,12 @@ class FWLayerOpenManager {
526
557
  return proxy as Ctr;
527
558
  }
528
559
 
529
- if (this.queueManager.handlePopupQueue(layerData, this.dataManager.getLayerMap())) {
560
+ if (
561
+ this.queueManager.handlePopupQueue(
562
+ layerData,
563
+ this.dataManager.getLayerMap(),
564
+ )
565
+ ) {
530
566
  return undefined;
531
567
  }
532
568
 
@@ -549,10 +585,9 @@ class FWLayerOpenManager {
549
585
  /**
550
586
  * 异步生成Layer
551
587
  */
552
- private async asyncGenerationLayer<Ctr extends FW.LayerController = FW.LayerController>(
553
- layerData: FWLayerData,
554
- data: FW.LayerOpenArgs,
555
- ): Promise<Ctr> {
588
+ private async asyncGenerationLayer<
589
+ Ctr extends FW.LayerController = FW.LayerController,
590
+ >(layerData: FWLayerData, data: FW.LayerOpenArgs): Promise<Ctr> {
556
591
  try {
557
592
  this.stateManager.setState(
558
593
  layerData.controllerConstructor,
@@ -585,10 +620,9 @@ class FWLayerOpenManager {
585
620
  /**
586
621
  * 同步创建Layer
587
622
  */
588
- private syncGenerationLayer<Ctr extends FW.LayerController = FW.LayerController>(
589
- layerData: FWLayerData,
590
- data: FW.LayerOpenArgs,
591
- ): Ctr {
623
+ private syncGenerationLayer<
624
+ Ctr extends FW.LayerController = FW.LayerController,
625
+ >(layerData: FWLayerData, data: FW.LayerOpenArgs): Ctr {
592
626
  try {
593
627
  this.stateManager.setState(
594
628
  layerData.controllerConstructor,
@@ -634,22 +668,29 @@ class FWLayerOpenManager {
634
668
 
635
669
  this.createManager.setupLayerLifecycle(layer, layerData.controller);
636
670
 
637
- if (layerData.controller.layerType !== FW.SystemDefine.FWLayerType.PERMANENT) {
671
+ if (
672
+ layerData.controller.layerType !== FW.SystemDefine.FWLayerType.PERMANENT
673
+ ) {
638
674
  this.stackManager.push(layerData);
639
675
  }
640
676
 
641
677
  this.dataManager.removeFromRegistry(layerData.controllerConstructor);
642
678
 
643
- layerData.controllerProxy = this.dataManager.createControllerProxy(layerData);
679
+ layerData.controllerProxy =
680
+ this.dataManager.createControllerProxy(layerData);
644
681
 
645
682
  return layerData.controllerProxy as Ctr;
646
683
  }
647
684
  }
648
685
 
649
686
  class FWLayerResourceManager {
650
- async loadLayerAsync(layerData: FWLayerData): Promise<{ asset: cc.Prefab; uuid: string }> {
687
+ async loadLayerAsync(
688
+ layerData: FWLayerData,
689
+ ): Promise<{ asset: cc.Prefab; uuid: string }> {
651
690
  try {
652
- const res = await FW.Entry.resMgr.loadAssetData<cc.Prefab>(layerData.layerAssetProperty);
691
+ const res = await FW.Entry.resMgr.loadAssetData<cc.Prefab>(
692
+ layerData.layerAssetProperty,
693
+ );
653
694
  if (!res) return undefined;
654
695
  res.user = layerData.layerName;
655
696
  res.autoRelease = layerData.controller.autoRelease;
@@ -664,7 +705,9 @@ class FWLayerResourceManager {
664
705
  loadLayerSync(layerData: FWLayerData): { asset: cc.Prefab; uuid: string } {
665
706
  layerData.layerAssetProperty.bundle =
666
707
  layerData.layerAssetProperty.bundle || FW.Entry.bundleName;
667
- const res = FW.Entry.resMgr.getAssetData<cc.Prefab>(layerData.layerAssetProperty);
708
+ const res = FW.Entry.resMgr.getAssetData<cc.Prefab>(
709
+ layerData.layerAssetProperty,
710
+ );
668
711
  res.user = layerData.layerName;
669
712
  res.autoRelease = layerData.controller.autoRelease;
670
713
  res.dependentBundle = layerData.controller.layerAssetProperty.bundle;
@@ -676,7 +719,9 @@ class FWLayerStackManager {
676
719
  private layerStack: FWLayerData[] = [];
677
720
 
678
721
  push(layerData: FWLayerData): void {
679
- if (layerData.controller.layerType !== FW.SystemDefine.FWLayerType.PERMANENT) {
722
+ if (
723
+ layerData.controller.layerType !== FW.SystemDefine.FWLayerType.PERMANENT
724
+ ) {
680
725
  this.layerStack.push(layerData);
681
726
  }
682
727
  }
@@ -686,7 +731,9 @@ class FWLayerStackManager {
686
731
  }
687
732
 
688
733
  remove(layerData: FWLayerData): void {
689
- const index = this.layerStack.findIndex((v) => v.controller === layerData.controller);
734
+ const index = this.layerStack.findIndex(
735
+ (v) => v.controller === layerData.controller,
736
+ );
690
737
  if (index > -1) {
691
738
  this.layerStack.splice(index, 1);
692
739
  }
@@ -702,14 +749,24 @@ class FWLayerStackManager {
702
749
  }
703
750
 
704
751
  class FWLayerStateManager {
705
- private layerStates = new Map<new () => FW.LayerController, FW.SystemDefine.FWLayerState>();
706
- constructor(private readonly debug: boolean) {}
707
- setState(ctrType: new () => FW.LayerController, state: FW.SystemDefine.FWLayerState): void {
708
- if (this.debug) FW.Log.debug(`setLayerState: ${cc.js.getClassName(ctrType)} ${state}`);
752
+ private layerStates = new Map<
753
+ new () => FW.LayerController,
754
+ FW.SystemDefine.FWLayerState
755
+ >();
756
+ constructor() {}
757
+ setState(
758
+ ctrType: new () => FW.LayerController,
759
+ state: FW.SystemDefine.FWLayerState,
760
+ ): void {
761
+ if (FW.Entry.layerMgr.isDebug()) {
762
+ FW.Log.debug(`${cc.js.getClassName(ctrType)}->更新状态${state}`);
763
+ }
709
764
  this.layerStates.set(ctrType, state);
710
765
  }
711
766
 
712
- getState(ctrType: new () => FW.LayerController): FW.SystemDefine.FWLayerState {
767
+ getState(
768
+ ctrType: new () => FW.LayerController,
769
+ ): FW.SystemDefine.FWLayerState {
713
770
  return this.layerStates.get(ctrType) || FW.SystemDefine.FWLayerState.CLOSED;
714
771
  }
715
772
 
@@ -726,7 +783,9 @@ class FWLayerStateManager {
726
783
  }
727
784
 
728
785
  removeState(ctrType: new () => FW.LayerController): void {
729
- if (this.debug) FW.Log.debug(`removeLayerState: ${cc.js.getClassName(ctrType)}`);
786
+ if (FW.Entry.layerMgr.isDebug()) {
787
+ FW.Log.debug(`${cc.js.getClassName(ctrType)}->移除状态`);
788
+ }
730
789
  this.layerStates.delete(ctrType);
731
790
  }
732
791
 
@@ -742,7 +801,9 @@ class FWLayerQueueManager {
742
801
  layerData: FWLayerData,
743
802
  layerMap: Map<new () => FW.LayerController, FWLayerData>,
744
803
  ): boolean {
745
- if (layerData.controller.layerType === FW.SystemDefine.FWLayerType.POPUP_QUEUE) {
804
+ if (
805
+ layerData.controller.layerType === FW.SystemDefine.FWLayerType.POPUP_QUEUE
806
+ ) {
746
807
  const hasNonPermanentLayers = Array.from(layerMap.values()).some(
747
808
  (value) => value.layerType === FW.SystemDefine.FWLayerType.POPUP_QUEUE,
748
809
  );
@@ -782,44 +843,44 @@ class FWLayerQueueManager {
782
843
 
783
844
  class FWLayerLifecycleManager {
784
845
  setupLifecycleHooks(layer: FW.Layer, ctr: FW.LayerController): void {
785
- const originalOnLoad = layer['onLoad'];
786
- layer['onLoad'] = function () {
846
+ const originalOnLoad = layer["onLoad"];
847
+ layer["onLoad"] = function () {
787
848
  originalOnLoad?.call(this);
788
849
  ctr.onLoad?.();
789
850
  };
790
851
 
791
- const originalStart = layer['start'];
792
- layer['start'] = function () {
852
+ const originalStart = layer["start"];
853
+ layer["start"] = function () {
793
854
  originalStart?.call(this);
794
855
  ctr.onStart?.();
795
856
  };
796
857
 
797
- const originalOnEnable = layer['onEnable'];
798
- layer['onEnable'] = function () {
858
+ const originalOnEnable = layer["onEnable"];
859
+ layer["onEnable"] = function () {
799
860
  originalOnEnable?.call(this);
800
861
  ctr.onEnable?.();
801
862
  };
802
863
 
803
- const originalOnDisable = layer['onDisable'];
804
- layer['onDisable'] = function () {
864
+ const originalOnDisable = layer["onDisable"];
865
+ layer["onDisable"] = function () {
805
866
  originalOnDisable?.call(this);
806
867
  ctr.onDisable?.();
807
868
  };
808
869
 
809
- const originalOnDestroy = layer['onDestroy'];
810
- layer['onDestroy'] = function () {
870
+ const originalOnDestroy = layer["onDestroy"];
871
+ layer["onDestroy"] = function () {
811
872
  originalOnDestroy?.call(this);
812
873
  ctr.onDestroy?.();
813
874
  };
814
875
 
815
- const originalUpdate = layer['update'];
816
- layer['update'] = function (dt: number) {
876
+ const originalUpdate = layer["update"];
877
+ layer["update"] = function (dt: number) {
817
878
  originalUpdate?.call(this, dt);
818
879
  ctr.onUpdate?.(dt);
819
880
  };
820
881
 
821
- const originalLateUpdate = layer['lateUpdate'];
822
- layer['lateUpdate'] = function () {
882
+ const originalLateUpdate = layer["lateUpdate"];
883
+ layer["lateUpdate"] = function () {
823
884
  originalLateUpdate?.call(this);
824
885
  ctr.onLateUpdate?.();
825
886
  };
@@ -830,7 +891,9 @@ class FWLayerControllerFactory {
830
891
  /**
831
892
  * 创建并初始化 LayerController
832
893
  */
833
- createController<Ctr extends FW.LayerController = FW.LayerController>(type: new () => Ctr): Ctr {
894
+ createController<Ctr extends FW.LayerController = FW.LayerController>(
895
+ type: new () => Ctr,
896
+ ): Ctr {
834
897
  const ctr = new type();
835
898
 
836
899
  ctr.initializeDependencies?.();
package/package.json CHANGED
@@ -1,9 +1,11 @@
1
1
  {
2
2
  "name": "@ives_xxz/framework",
3
- "version": "2.1.34",
3
+ "version": "2.1.35",
4
4
  "description": "cocoscreator 2.x mvc framework",
5
5
  "main": "index.js",
6
- "keywords": ["123456"],
6
+ "keywords": [
7
+ "123456"
8
+ ],
7
9
  "author": "ives",
8
10
  "license": "ISC"
9
11
  }
package/types/FW.d.ts CHANGED
@@ -899,6 +899,10 @@ declare namespace FW {
899
899
 
900
900
  /** 清理方法 */
901
901
  clear(): void;
902
+ /** 开启调试 */
903
+ openDebug():void;
904
+ /** 是否开启调试 */
905
+ isDebug():boolean;
902
906
 
903
907
  /**
904
908
  * 异步打开layer