@kkarum/framework 2.3.17

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.
Files changed (171) hide show
  1. package/Framework.ts +337 -0
  2. package/Framework.ts.meta +10 -0
  3. package/FrameworkBase.ts +207 -0
  4. package/FrameworkBase.ts.meta +10 -0
  5. package/FrameworkInitialize.ts +79 -0
  6. package/FrameworkInitialize.ts.meta +10 -0
  7. package/README.md +93 -0
  8. package/README.md.meta +6 -0
  9. package/animation/FWAnimation.ts +13 -0
  10. package/animation/FWAnimation.ts.meta +10 -0
  11. package/animation/FWSkeleton.ts +174 -0
  12. package/animation/FWSkeleton.ts.meta +10 -0
  13. package/animation/FWTween.ts +60 -0
  14. package/animation/FWTween.ts.meta +10 -0
  15. package/animation.meta +13 -0
  16. package/component/FWVirtuaScrollViewComponent.ts +56 -0
  17. package/component/FWVirtuaScrollViewComponent.ts.meta +10 -0
  18. package/component/FWVirtualViewComponent.ts +2212 -0
  19. package/component/FWVirtualViewComponent.ts.meta +10 -0
  20. package/component.meta +13 -0
  21. package/config/FWAssetConfig.ts +7 -0
  22. package/config/FWAssetConfig.ts.meta +10 -0
  23. package/config/FWSystemConfig.ts +29 -0
  24. package/config/FWSystemConfig.ts.meta +10 -0
  25. package/config.meta +13 -0
  26. package/controller/FWLayerController.ts +178 -0
  27. package/controller/FWLayerController.ts.meta +10 -0
  28. package/controller.meta +13 -0
  29. package/data/FWData.ts +6 -0
  30. package/data/FWData.ts.meta +10 -0
  31. package/data.meta +13 -0
  32. package/define/FWEventDefine.ts +28 -0
  33. package/define/FWEventDefine.ts.meta +10 -0
  34. package/define/FWSystemDefine.ts +154 -0
  35. package/define/FWSystemDefine.ts.meta +10 -0
  36. package/define.meta +13 -0
  37. package/entry/FWEntry.ts +219 -0
  38. package/entry/FWEntry.ts.meta +10 -0
  39. package/entry.meta +13 -0
  40. package/expand/FWCocosExpand.ts +73 -0
  41. package/expand/FWCocosExpand.ts.meta +10 -0
  42. package/expand/FWDecorator.ts +366 -0
  43. package/expand/FWDecorator.ts.meta +10 -0
  44. package/expand/FWNodeExpand.ts +147 -0
  45. package/expand/FWNodeExpand.ts.meta +10 -0
  46. package/expand/FWRollingViewNesting.ts +195 -0
  47. package/expand/FWRollingViewNesting.ts.meta +10 -0
  48. package/expand/FWTweenExpand.ts +44 -0
  49. package/expand/FWTweenExpand.ts.meta +10 -0
  50. package/expand.meta +13 -0
  51. package/item/FWVirtualListItem.ts +141 -0
  52. package/item/FWVirtualListItem.ts.meta +10 -0
  53. package/item.meta +13 -0
  54. package/language/FWLanguage.ts +71 -0
  55. package/language/FWLanguage.ts.meta +10 -0
  56. package/language/FWLanguageLabelLocalize.ts +144 -0
  57. package/language/FWLanguageLabelLocalize.ts.meta +10 -0
  58. package/language/FWLanguageSkeletonLocalize.ts +106 -0
  59. package/language/FWLanguageSkeletonLocalize.ts.meta +10 -0
  60. package/language/FWLanguageSpriteLocalize.ts +81 -0
  61. package/language/FWLanguageSpriteLocalize.ts.meta +10 -0
  62. package/language.meta +13 -0
  63. package/layer/FWLayer.ts +14 -0
  64. package/layer/FWLayer.ts.meta +10 -0
  65. package/layer.meta +13 -0
  66. package/log/FWLog.ts +135 -0
  67. package/log/FWLog.ts.meta +10 -0
  68. package/log.meta +13 -0
  69. package/logic/FWLogic.ts +6 -0
  70. package/logic/FWLogic.ts.meta +10 -0
  71. package/logic.meta +13 -0
  72. package/machine/FWAnimationMachine.ts +28 -0
  73. package/machine/FWAnimationMachine.ts.meta +10 -0
  74. package/machine/FWStateMachine.ts +74 -0
  75. package/machine/FWStateMachine.ts.meta +10 -0
  76. package/machine.meta +13 -0
  77. package/manager/FWAnimationManager.ts +89 -0
  78. package/manager/FWAnimationManager.ts.meta +10 -0
  79. package/manager/FWAssetManager.ts +451 -0
  80. package/manager/FWAssetManager.ts.meta +10 -0
  81. package/manager/FWAudioManager.ts +339 -0
  82. package/manager/FWAudioManager.ts.meta +10 -0
  83. package/manager/FWBundleManager.ts +97 -0
  84. package/manager/FWBundleManager.ts.meta +10 -0
  85. package/manager/FWComponentManager.ts +24 -0
  86. package/manager/FWComponentManager.ts.meta +10 -0
  87. package/manager/FWEngineManager.ts +74 -0
  88. package/manager/FWEngineManager.ts.meta +10 -0
  89. package/manager/FWEventManager.ts +361 -0
  90. package/manager/FWEventManager.ts.meta +10 -0
  91. package/manager/FWHotUpdateManager.ts +344 -0
  92. package/manager/FWHotUpdateManager.ts.meta +10 -0
  93. package/manager/FWLanguageManager.ts +114 -0
  94. package/manager/FWLanguageManager.ts.meta +10 -0
  95. package/manager/FWLayerManager.ts +862 -0
  96. package/manager/FWLayerManager.ts.meta +10 -0
  97. package/manager/FWManager.ts +9 -0
  98. package/manager/FWManager.ts.meta +10 -0
  99. package/manager/FWObjectManager.ts +161 -0
  100. package/manager/FWObjectManager.ts.meta +10 -0
  101. package/manager/FWPerformanceManager.ts +198 -0
  102. package/manager/FWPerformanceManager.ts.meta +10 -0
  103. package/manager/FWPromiseManager.ts +504 -0
  104. package/manager/FWPromiseManager.ts.meta +10 -0
  105. package/manager/FWResManager.ts +299 -0
  106. package/manager/FWResManager.ts.meta +10 -0
  107. package/manager/FWSocketManager.ts +93 -0
  108. package/manager/FWSocketManager.ts.meta +10 -0
  109. package/manager/FWStateManager.ts +100 -0
  110. package/manager/FWStateManager.ts.meta +10 -0
  111. package/manager/FWTaskManager.ts +41 -0
  112. package/manager/FWTaskManager.ts.meta +10 -0
  113. package/manager/FWTimeManager.ts +442 -0
  114. package/manager/FWTimeManager.ts.meta +10 -0
  115. package/manager/FWUiManager.ts +217 -0
  116. package/manager/FWUiManager.ts.meta +10 -0
  117. package/manager.meta +13 -0
  118. package/package.json +11 -0
  119. package/package.json.meta +6 -0
  120. package/registry/FWRegistry.ts +62 -0
  121. package/registry/FWRegistry.ts.meta +10 -0
  122. package/registry.meta +13 -0
  123. package/render/FWRenderAssembler.ts +620 -0
  124. package/render/FWRenderAssembler.ts.meta +10 -0
  125. package/render.meta +13 -0
  126. package/scene/FWScene.ts +23 -0
  127. package/scene/FWScene.ts.meta +10 -0
  128. package/scene.meta +13 -0
  129. package/service/FWService.ts +11 -0
  130. package/service/FWService.ts.meta +10 -0
  131. package/service/http/FWHttp.ts +103 -0
  132. package/service/http/FWHttp.ts.meta +10 -0
  133. package/service/http.meta +13 -0
  134. package/service/socket/FWSocket.ts +367 -0
  135. package/service/socket/FWSocket.ts.meta +10 -0
  136. package/service/socket/FWSocketHandle.ts +16 -0
  137. package/service/socket/FWSocketHandle.ts.meta +10 -0
  138. package/service/socket/FWSocketSender.ts +14 -0
  139. package/service/socket/FWSocketSender.ts.meta +10 -0
  140. package/service/socket/mock/FWSocketMock.ts +202 -0
  141. package/service/socket/mock/FWSocketMock.ts.meta +10 -0
  142. package/service/socket/mock.meta +13 -0
  143. package/service/socket.meta +13 -0
  144. package/service.meta +13 -0
  145. package/state/FWState.ts +8 -0
  146. package/state/FWState.ts.meta +10 -0
  147. package/state.meta +13 -0
  148. package/types/Creator.d.ts +121 -0
  149. package/types/Creator.d.ts.meta +6 -0
  150. package/types/FW.d.ts +3016 -0
  151. package/types/FW.d.ts.meta +6 -0
  152. package/types/Global.d.ts +22 -0
  153. package/types/Global.d.ts.meta +10 -0
  154. package/types.meta +13 -0
  155. package/utils/FWLodash.ts +105 -0
  156. package/utils/FWLodash.ts.meta +10 -0
  157. package/utils/FWMask.ts +222 -0
  158. package/utils/FWMask.ts.meta +10 -0
  159. package/utils/FWObject.ts +27 -0
  160. package/utils/FWObject.ts.meta +10 -0
  161. package/utils/FWObjectPool.ts +177 -0
  162. package/utils/FWObjectPool.ts.meta +10 -0
  163. package/utils/FWQueue.ts +55 -0
  164. package/utils/FWQueue.ts.meta +10 -0
  165. package/utils/FWResLoader.ts +139 -0
  166. package/utils/FWResLoader.ts.meta +10 -0
  167. package/utils/FWTask.ts +227 -0
  168. package/utils/FWTask.ts.meta +10 -0
  169. package/utils/FWUtils.ts +15 -0
  170. package/utils/FWUtils.ts.meta +10 -0
  171. package/utils.meta +13 -0
@@ -0,0 +1,144 @@
1
+ import { FWLodash } from '../utils/FWLodash';
2
+ import FWLanguage from './FWLanguage';
3
+
4
+ const { ccclass, property, executeInEditMode, menu, requireComponent } = cc._decorator;
5
+
6
+ @ccclass
7
+ @menu('Language/FWLanguageLabelLocalize')
8
+ @requireComponent(cc.Label)
9
+ @executeInEditMode
10
+ export default class FWLanguageLabelLocalize extends FWLanguage {
11
+ @property({
12
+ type: FWLodash.CCEnum(['请选择语言']),
13
+ displayName: 'bundle',
14
+ visible: true,
15
+ })
16
+ get bundle() {
17
+ return this._bundle;
18
+ }
19
+ set bundle(value: number) {
20
+ this._bundle = value;
21
+ this.onBundleChange();
22
+ }
23
+
24
+ @property({
25
+ type: FWLodash.CCEnum(['请选择索引']),
26
+ displayName: 'key',
27
+ visible: true,
28
+ })
29
+ get key() {
30
+ return this._key;
31
+ }
32
+ set key(value: number) {
33
+ this._key = value;
34
+ this.refresh();
35
+ }
36
+
37
+ protected onLoad(): void {
38
+ super.onLoad?.();
39
+ this.label = this.node.getComponent(cc.Label);
40
+ }
41
+
42
+ protected onEnable(): void {
43
+ super.onEnable?.();
44
+ this.onBundleChange();
45
+ }
46
+
47
+ public onRefresh(): void {
48
+ const label = this.node.getComponent(cc.Label);
49
+ if (this._language == 0 || this._bundle == 0 || this._key == 0) {
50
+ label.string = '';
51
+ return;
52
+ }
53
+ const keys = FW.Entry.languageMgr.getLanguagePackageEnumKeys(this.bundleName);
54
+ const str = FW.Entry.languageMgr.getLanguagePackageValue(
55
+ this.bundleName,
56
+ keys[this.key - 1],
57
+ this.languageName,
58
+ );
59
+ label.string = str;
60
+ }
61
+
62
+ protected onBundleChange(): void {
63
+ this.updateKeys();
64
+ this.refreshKes();
65
+ this.refresh();
66
+ }
67
+
68
+ protected onLanguageChange(): void {
69
+ if (this._language == 0) {
70
+ this._bundle = 0;
71
+ this._key = 0;
72
+ }
73
+ this.updateBundles();
74
+ this.updateKeys();
75
+ this.refreshBundles();
76
+ this.refreshKes();
77
+ this.refresh();
78
+ }
79
+
80
+ protected refreshKes() {
81
+ if (CC_EDITOR) {
82
+ //@ts-ignore
83
+ cc.Class.Attr.setClassAttr(
84
+ this.constructor,
85
+ 'key',
86
+ 'enumList',
87
+ //@ts-ignore
88
+ cc.Enum.getList(CCEnum(this._keys)),
89
+ );
90
+ }
91
+ }
92
+
93
+ protected updateKeys() {
94
+ if (this._language > 0 && this._bundle > 0) {
95
+ this._keys = [
96
+ '请选择索引',
97
+ ...Object.keys(FW.Entry.languageMgr.getLanguagePackageEnum(this.bundleName)),
98
+ ];
99
+ } else {
100
+ this._keys = ['请选择索引'];
101
+ }
102
+ }
103
+
104
+ get bundleName() {
105
+ const bundles = this.getBundles();
106
+ return bundles[this._bundle - 1];
107
+ }
108
+
109
+ get languageName() {
110
+ const languages = this.getSupportedLanguages();
111
+ return languages[this._language - 1];
112
+ }
113
+
114
+ protected updateBundles() {
115
+ if (this._language > 0) {
116
+ this._bundles = ['请选择语言包', ...this.getBundles()];
117
+ } else {
118
+ this._bundles = ['请选择语言包'];
119
+ }
120
+ }
121
+
122
+ protected refreshBundles() {
123
+ if (CC_EDITOR) {
124
+ //@ts-ignore
125
+ cc.Class.Attr.setClassAttr(
126
+ this.constructor,
127
+ 'bundle',
128
+ 'enumList',
129
+ //@ts-ignore
130
+ cc.Enum.getList(CCEnum(this._bundles)),
131
+ );
132
+ }
133
+ }
134
+
135
+ protected label: cc.Label = null;
136
+ @property
137
+ protected _key: number = 0;
138
+ @property
139
+ protected _keys: string[] = [];
140
+ @property
141
+ protected _bundle: number = 0;
142
+ @property
143
+ protected _bundles: string[] = [];
144
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "ver": "1.1.0",
3
+ "uuid": "3fb1f7df-6641-459a-b357-fff3ad37a9d0",
4
+ "importer": "typescript",
5
+ "isPlugin": false,
6
+ "loadPluginInWeb": true,
7
+ "loadPluginInNative": true,
8
+ "loadPluginInEditor": false,
9
+ "subMetas": {}
10
+ }
@@ -0,0 +1,106 @@
1
+ import { FWLodash } from '../utils/FWLodash';
2
+ import FWLanguage from './FWLanguage';
3
+
4
+ const { ccclass, property, menu, requireComponent } = cc._decorator;
5
+
6
+ const languageEnum = FWLodash.CCEnum([
7
+ '请选择语言',
8
+ ...FW.Entry.languageMgr.getSupportedLanguages(),
9
+ ]);
10
+ @ccclass('FWLanguageSkeleton')
11
+ class FWLanguageSkeleton {
12
+ @property({
13
+ type: languageEnum,
14
+ displayName: 'language',
15
+ visible: true,
16
+ serializable: true,
17
+ })
18
+ language: number = 0;
19
+
20
+ @property({
21
+ type: sp.SkeletonData,
22
+ displayName: 'skeletonData',
23
+ serializable: true,
24
+ })
25
+ skeleton: sp.SkeletonData = null;
26
+
27
+ @property({
28
+ visible: true,
29
+ serializable: true,
30
+ displayName: 'loop',
31
+ })
32
+ loop: boolean = true;
33
+
34
+ @property({
35
+ visible: true,
36
+ serializable: true,
37
+ displayName: 'premultipliedAlpha',
38
+ })
39
+ premultipliedAlpha: boolean = false;
40
+
41
+ @property({
42
+ visible: true,
43
+ serializable: true,
44
+ displayName: 'timeScale',
45
+ })
46
+ timeScale: number = 1;
47
+ }
48
+ @ccclass
49
+ @menu('Language/FWLanguageSkeletonLocalize')
50
+ @requireComponent(sp.Skeleton)
51
+ export default class FWLanguageSkeletonLocalize extends FWLanguage {
52
+ @property
53
+ private _inspector: FWLanguageSkeleton[] = [];
54
+ private _skeleton: sp.Skeleton;
55
+ private _animation: FW.Skeleton;
56
+
57
+ @property({ type: [FWLanguageSkeleton] })
58
+ get inspector() {
59
+ return this._inspector;
60
+ }
61
+
62
+ set inspector(value: FWLanguageSkeleton[]) {
63
+ this._inspector = value;
64
+ }
65
+
66
+ protected onLanguageChange(): void {
67
+ this.onRefresh();
68
+ }
69
+
70
+ protected onLoad(): void {
71
+ super.onLoad?.();
72
+ this._skeleton = this.node.getComponent(sp.Skeleton);
73
+ this._animation = FW.Entry.animationMgr.createSkeleton(this._skeleton);
74
+ }
75
+
76
+ protected onRefresh(): void {
77
+ if (this._language == 0 && CC_EDITOR) {
78
+ this._skeleton.skeletonData = null;
79
+ //@ts-ignore
80
+ CC_EDITOR && Editor.log('未选择语言!');
81
+ return;
82
+ }
83
+ const index = this.inspector.findIndex((v) => {
84
+ return v.language == this._language;
85
+ });
86
+ if (index == -1) {
87
+ this._skeleton.skeletonData = null;
88
+ //@ts-ignore
89
+ CC_EDITOR && Editor.log('当前语言未配置!');
90
+ return;
91
+ }
92
+ const skeleton = this.inspector[index];
93
+ if (!skeleton?.skeleton) {
94
+ //@ts-ignore
95
+ CC_EDITOR && Editor.log('当前语言skeletonData不存在!');
96
+ this.language = 0;
97
+ return;
98
+ }
99
+ this._skeleton.skeletonData = skeleton.skeleton;
100
+ this._skeleton.animation = this._animation.getAnimationNames()?.[0];
101
+ this._animation.play({
102
+ loop: skeleton.loop,
103
+ timeScale: skeleton.timeScale,
104
+ });
105
+ }
106
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "ver": "1.1.0",
3
+ "uuid": "26a2ce4f-316b-4f43-bb02-c984bf6cd049",
4
+ "importer": "typescript",
5
+ "isPlugin": false,
6
+ "loadPluginInWeb": true,
7
+ "loadPluginInNative": true,
8
+ "loadPluginInEditor": false,
9
+ "subMetas": {}
10
+ }
@@ -0,0 +1,81 @@
1
+ import { FWLodash } from '../utils/FWLodash';
2
+ import FWLanguage from './FWLanguage';
3
+
4
+ const { ccclass, property, executeInEditMode, menu, requireComponent } = cc._decorator;
5
+
6
+ const languageEnum = FWLodash.CCEnum([
7
+ '请选择语言',
8
+ ...FW.Entry.languageMgr.getSupportedLanguages(),
9
+ ]);
10
+
11
+ @ccclass('FWLanguageSprite')
12
+ class FWLanguageSprite {
13
+ @property({
14
+ type: languageEnum,
15
+ displayName: 'language',
16
+ visible: true,
17
+ serializable: true,
18
+ })
19
+ language: number = 0;
20
+
21
+ @property({
22
+ type: cc.SpriteFrame,
23
+ displayName: 'spriteFrame',
24
+ serializable: true,
25
+ })
26
+ spriteFrame: cc.SpriteFrame = null;
27
+ }
28
+
29
+ @ccclass
30
+ @menu('Language/FWLanguageSpriteLocalize')
31
+ @requireComponent(cc.Sprite)
32
+ @executeInEditMode
33
+ export default class FWLanguageSpriteLocalize extends FWLanguage {
34
+ @property
35
+ private _inspector: FWLanguageSprite[] = [];
36
+ private _sprite: cc.Sprite;
37
+
38
+ @property({ type: [FWLanguageSprite] })
39
+ get inspector() {
40
+ return this._inspector;
41
+ }
42
+
43
+ set inspector(value: FWLanguageSprite[]) {
44
+ this._inspector = value;
45
+ }
46
+
47
+ protected onLanguageChange(): void {
48
+ this.onRefresh();
49
+ }
50
+
51
+ protected onLoad(): void {
52
+ super.onLoad?.();
53
+ this._sprite = this.node.getComponent(cc.Sprite);
54
+ }
55
+
56
+ protected onRefresh(): void {
57
+ if (this._language == 0 && CC_EDITOR) {
58
+ this._sprite.spriteFrame = null;
59
+ //@ts-ignore
60
+ CC_EDITOR && Editor.log('未选择语言!');
61
+ return;
62
+ }
63
+ const index = this.inspector.findIndex((v) => {
64
+ return v.language == this._language;
65
+ });
66
+ if (index == -1) {
67
+ this._sprite.spriteFrame = null;
68
+ //@ts-ignore
69
+ CC_EDITOR && Editor.log('当前语言未配置!');
70
+ return;
71
+ }
72
+ const spriteFrame = this.inspector[index].spriteFrame;
73
+ if (!spriteFrame) {
74
+ //@ts-ignore
75
+ CC_EDITOR && Editor.log('当前语言SpriteFrame不存在!');
76
+ this.language = 0;
77
+ return;
78
+ }
79
+ this._sprite.spriteFrame = spriteFrame;
80
+ }
81
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "ver": "1.1.0",
3
+ "uuid": "8d3766e4-d7dd-4dd7-9939-acc3bf5104d0",
4
+ "importer": "typescript",
5
+ "isPlugin": false,
6
+ "loadPluginInWeb": true,
7
+ "loadPluginInNative": true,
8
+ "loadPluginInEditor": false,
9
+ "subMetas": {}
10
+ }
package/language.meta ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "ver": "1.1.3",
3
+ "uuid": "8a2ce5d1-31a5-45bb-8b09-7f0054ace394",
4
+ "importer": "folder",
5
+ "isBundle": false,
6
+ "bundleName": "",
7
+ "priority": 1,
8
+ "compressionType": {},
9
+ "optimizeHotUpdate": {},
10
+ "inlineSpriteFrames": {},
11
+ "isRemoteBundle": {},
12
+ "subMetas": {}
13
+ }
@@ -0,0 +1,14 @@
1
+ const { ccclass, property } = cc._decorator;
2
+
3
+ @ccclass
4
+ export class FWLayer extends cc.Component implements FW.Layer {
5
+ public readonly entry: FW.Entry = FW.Entry;
6
+ public ctr: FW.LayerController;
7
+ public onLoad(): void {}
8
+ public start(): void {}
9
+ public onEnable(): void {}
10
+ public onDisable(): void {}
11
+ public onDestroy(): void {}
12
+ public update(dt: number): void {}
13
+ public lateUpdate(dt: number): void {}
14
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "ver": "1.1.0",
3
+ "uuid": "226f949f-5699-4b17-aba1-ad43af651630",
4
+ "importer": "typescript",
5
+ "isPlugin": false,
6
+ "loadPluginInWeb": true,
7
+ "loadPluginInNative": true,
8
+ "loadPluginInEditor": false,
9
+ "subMetas": {}
10
+ }
package/layer.meta ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "ver": "1.1.3",
3
+ "uuid": "ce98c254-9c3e-4d9d-94ff-216bd92484e7",
4
+ "importer": "folder",
5
+ "isBundle": false,
6
+ "bundleName": "",
7
+ "priority": 1,
8
+ "compressionType": {},
9
+ "optimizeHotUpdate": {},
10
+ "inlineSpriteFrames": {},
11
+ "isRemoteBundle": {},
12
+ "subMetas": {}
13
+ }
package/log/FWLog.ts ADDED
@@ -0,0 +1,135 @@
1
+ export class FWLog {
2
+ FWLogColorMap: Map<FW.SystemDefine.FWLogType, string> = new Map<
3
+ FW.SystemDefine.FWLogType,
4
+ string
5
+ >([
6
+ [FW.SystemDefine.FWLogType.DEBUG, '#FFFFFF'],
7
+ [FW.SystemDefine.FWLogType.SOCKET_SEND, '#50BBE4'],
8
+ [FW.SystemDefine.FWLogType.SOCKET_RECEIVE, '#F423DF'],
9
+ [FW.SystemDefine.FWLogType.REQUEST, '#23F4C6'],
10
+ [FW.SystemDefine.FWLogType.RESPONSE, '#FF8A00'],
11
+ [FW.SystemDefine.FWLogType.WARN, '#FFC107'],
12
+ [FW.SystemDefine.FWLogType.ERROR, '#DC3545'],
13
+ [FW.SystemDefine.FWLogType.SYSTEM, '#9b1eeeff'],
14
+ ]);
15
+ private static instance: FWLog;
16
+ public static getInstance() {
17
+ if (!this.instance) {
18
+ this.instance = new FWLog();
19
+ }
20
+ return this.instance;
21
+ }
22
+
23
+ private constructor() {}
24
+
25
+ public get debug() {
26
+ if (cc.sys.isBrowser)
27
+ return window.console.log.bind(
28
+ window.console,
29
+ `%c[debug]:${FW.Entry.timeMgr.getTime()}`,
30
+ `color: black; background-color: ${this.FWLogColorMap.get(
31
+ FW.SystemDefine.FWLogType.DEBUG,
32
+ )}; font-weight: bold; font-size: 10;`,
33
+ );
34
+
35
+ return console.log;
36
+ }
37
+
38
+ get send() {
39
+ if (cc.sys.isBrowser)
40
+ return window.console.log.bind(
41
+ window.console,
42
+ `%c[sendMsg]:${FW.Entry.timeMgr.getTime()}`,
43
+ `color: black; background-color: ${this.FWLogColorMap.get(
44
+ FW.SystemDefine.FWLogType.SOCKET_SEND,
45
+ )}; font-weight: bold; font-size: 10;`,
46
+ );
47
+ return console.log;
48
+ }
49
+
50
+ get receive() {
51
+ if (cc.sys.isBrowser)
52
+ return window.console.log.bind(
53
+ window.console,
54
+ `%c[receiveMsg]:${FW.Entry.timeMgr.getTime()}`,
55
+ `color: black; background-color: ${this.FWLogColorMap.get(
56
+ FW.SystemDefine.FWLogType.SOCKET_RECEIVE,
57
+ )}; font-weight: bold; font-size: 10;`,
58
+ );
59
+ return console.log;
60
+ }
61
+
62
+ get request() {
63
+ if (cc.sys.isBrowser)
64
+ return window.console.log.bind(
65
+ window.console,
66
+ `%c[request]:${FW.Entry.timeMgr.getTime()}`,
67
+ `color: black; background-color: ${this.FWLogColorMap.get(
68
+ FW.SystemDefine.FWLogType.REQUEST,
69
+ )}; font-weight: bold; font-size: 10;`,
70
+ );
71
+ return console.log;
72
+ }
73
+
74
+ get response() {
75
+ if (cc.sys.isBrowser)
76
+ return window.console.log.bind(
77
+ window.console,
78
+ `%c[response]:${FW.Entry.timeMgr.getTime()}`,
79
+ `color: black; background-color: ${this.FWLogColorMap.get(
80
+ FW.SystemDefine.FWLogType.RESPONSE,
81
+ )}; font-weight: bold; font-size: 10;`,
82
+ );
83
+ return console.log;
84
+ }
85
+
86
+ get system() {
87
+ if (cc.sys.isBrowser)
88
+ return window.console.log.bind(
89
+ window.console,
90
+ `%c[system]:${FW.Entry.timeMgr.getTime()}`,
91
+ `color: black; background-color: ${this.FWLogColorMap.get(
92
+ FW.SystemDefine.FWLogType.SYSTEM,
93
+ )}; font-weight: bold; font-size: 10;`,
94
+ );
95
+ return console.log;
96
+ }
97
+
98
+ get warn() {
99
+ if (cc.sys.isBrowser)
100
+ return window.console.warn.bind(
101
+ window.console,
102
+ `%c[warn]:${FW.Entry.timeMgr.getTime()}`,
103
+ `color: black; background-color: ${this.FWLogColorMap.get(
104
+ FW.SystemDefine.FWLogType.WARN,
105
+ )}; font-weight: bold; font-size: 10;`,
106
+ );
107
+ return console.warn;
108
+ }
109
+
110
+ get error() {
111
+ if (cc.sys.isBrowser)
112
+ return window.console.error.bind(
113
+ window.console,
114
+ `%c[error]:${FW.Entry.timeMgr.getTime()}`,
115
+ `color: black; background-color: ${this.FWLogColorMap.get(
116
+ FW.SystemDefine.FWLogType.ERROR,
117
+ )}; font-weight: bold; font-size: 10;`,
118
+ );
119
+ return console.error;
120
+ }
121
+ }
122
+
123
+ if (!CC_DEBUG && !CC_DEV && CC_BUILD) {
124
+ window.console.log = () => {};
125
+ window.console.warn = () => {};
126
+ window.console.error = () => {};
127
+
128
+ console.log = () => {};
129
+ console.warn = () => {};
130
+ console.error = () => {};
131
+
132
+ cc.log = () => {};
133
+ cc.warn = () => {};
134
+ cc.error = () => {};
135
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "ver": "1.1.0",
3
+ "uuid": "c96accd4-65f8-4a49-86e1-b161092f7b85",
4
+ "importer": "typescript",
5
+ "isPlugin": false,
6
+ "loadPluginInWeb": true,
7
+ "loadPluginInNative": true,
8
+ "loadPluginInEditor": false,
9
+ "subMetas": {}
10
+ }
package/log.meta ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "ver": "1.1.3",
3
+ "uuid": "cc6fa493-d506-4224-9ef5-fcccfe52b409",
4
+ "importer": "folder",
5
+ "isBundle": false,
6
+ "bundleName": "",
7
+ "priority": 1,
8
+ "compressionType": {},
9
+ "optimizeHotUpdate": {},
10
+ "inlineSpriteFrames": {},
11
+ "isRemoteBundle": {},
12
+ "subMetas": {}
13
+ }
@@ -0,0 +1,6 @@
1
+ import { injectable } from 'inversify';
2
+ @injectable()
3
+ export class FWLogic extends FW.FrameworkBase {
4
+ public initialize?(): void;
5
+ public onDestroy?(): void;
6
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "ver": "1.1.0",
3
+ "uuid": "84c16595-ccc9-41c3-92cb-caf8e96bdb7b",
4
+ "importer": "typescript",
5
+ "isPlugin": false,
6
+ "loadPluginInWeb": true,
7
+ "loadPluginInNative": true,
8
+ "loadPluginInEditor": false,
9
+ "subMetas": {}
10
+ }
package/logic.meta ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "ver": "1.1.3",
3
+ "uuid": "c760a8a3-325a-434f-8375-bd9406a8496d",
4
+ "importer": "folder",
5
+ "isBundle": false,
6
+ "bundleName": "",
7
+ "priority": 1,
8
+ "compressionType": {},
9
+ "optimizeHotUpdate": {},
10
+ "inlineSpriteFrames": {},
11
+ "isRemoteBundle": {},
12
+ "subMetas": {}
13
+ }
@@ -0,0 +1,28 @@
1
+ import { FWAnimation } from "../animation/FWAnimation";
2
+
3
+ export class FWAnimationMachine {
4
+ private animationMap: Map<string, FWAnimation>;
5
+
6
+ constructor() {
7
+ this.initialize();
8
+ }
9
+ private initialize(): void {
10
+ this.animationMap = new Map<string, FWAnimation>();
11
+ }
12
+
13
+ addAnimation(animation: FWAnimation) {
14
+ this.animationMap.set(animation.animationName, animation);
15
+ }
16
+
17
+ getAnimation(animationName: string) {
18
+ return this.animationMap.get(animationName);
19
+ }
20
+
21
+ pause() {
22
+ this.animationMap.forEach((v) => v.pause());
23
+ }
24
+
25
+ resume() {
26
+ this.animationMap.forEach((v) => v.resume());
27
+ }
28
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "ver": "1.1.0",
3
+ "uuid": "0a8490a5-adc2-4788-bd9b-5691685ece7d",
4
+ "importer": "typescript",
5
+ "isPlugin": false,
6
+ "loadPluginInWeb": true,
7
+ "loadPluginInNative": true,
8
+ "loadPluginInEditor": false,
9
+ "subMetas": {}
10
+ }