dzkcc-mflow 0.0.22 → 0.0.23
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/README.md +20 -1
- package/dist/core/Core.d.ts +2 -6
- package/dist/core/Core.js +3 -23
- package/dist/mflow-tools.zip +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Modular Flow Framework
|
|
2
2
|
|
|
3
3
|
一个专为 Cocos Creator 引擎开发的模块化设计与流程管理框架。
|
|
4
|
+
- github地址:https://github.com/duanzhk/cocos-modular-flow-framework
|
|
4
5
|
|
|
5
6
|
## 📚 目录
|
|
6
7
|
|
|
@@ -40,11 +41,28 @@ Modular Flow Framework (MF) 是一个为 Cocos Creator 引擎开发的模块化
|
|
|
40
41
|
|
|
41
42
|
### 1.3 安装
|
|
42
43
|
|
|
44
|
+
创建自己的cocos项目,在项目根目录执行如下命令:
|
|
45
|
+
|
|
43
46
|
```bash
|
|
44
47
|
npm i dzkcc-mflow@beta
|
|
45
48
|
```
|
|
49
|
+
安装完成后,修改自己项目的tsconfig.json,关键添加内容 **"dzkcc-mflow/*": ["./node_modules/dzkcc-mflow/dist/*"]**
|
|
50
|
+
```
|
|
51
|
+
{
|
|
52
|
+
/* Base configuration. Do not edit this field. */
|
|
53
|
+
"extends": "./temp/tsconfig.cocos.json",
|
|
54
|
+
|
|
55
|
+
/* Add your custom configuration here. */
|
|
56
|
+
"compilerOptions": {
|
|
57
|
+
"strict": false,
|
|
58
|
+
"paths": {
|
|
59
|
+
"dzkcc-mflow/*": ["./node_modules/dzkcc-mflow/dist/*"] //cocos不解析,仅为了vscode提示
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
```
|
|
46
64
|
|
|
47
|
-
|
|
65
|
+
之后,**重启 Cocos Creator 编辑器**,框架会自动安装配套的编辑器插件。
|
|
48
66
|
|
|
49
67
|
---
|
|
50
68
|
|
|
@@ -490,6 +508,7 @@ mf.gui.close(view);
|
|
|
490
508
|
### 5.3 视图栈管理
|
|
491
509
|
|
|
492
510
|
支持分组的视图栈,适用于关卡、向导等场景。
|
|
511
|
+
使用分组功能,还可以实现诸如游戏启动后,需要优先弹出一堆界面,比如各种活动的展示dialog、各种签到UI等等。把这些UI都归类一个group中,那么就可以做到,关闭一个UI后会再弹出下一个,直到所有的弹窗都关闭。同时在加入group的时候,还可以控制各个UI的先后顺序。
|
|
493
512
|
|
|
494
513
|
```typescript
|
|
495
514
|
import { ViewNames } from 'dzkcc-mflow/core';
|
package/dist/core/Core.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ICore,
|
|
1
|
+
import { ICore, IManager, IModel } from "./Api";
|
|
2
2
|
export declare abstract class AbstractCore<T extends AbstractCore<T>> implements ICore {
|
|
3
3
|
private readonly container;
|
|
4
4
|
constructor();
|
|
@@ -9,12 +9,8 @@ export declare abstract class AbstractCore<T extends AbstractCore<T>> implements
|
|
|
9
9
|
getManager<T extends IManager>(managerSymbol: symbol): T;
|
|
10
10
|
}
|
|
11
11
|
export declare abstract class AbstractManager implements IManager {
|
|
12
|
-
private eventManager?;
|
|
13
12
|
abstract initialize(): void;
|
|
14
13
|
dispose(): void;
|
|
15
14
|
protected getModel<T extends IModel>(modelSymbol: symbol): T;
|
|
16
|
-
protected
|
|
17
|
-
protected getHttpManager(): IHttpManager;
|
|
18
|
-
protected getWebSocketManager(): IWebSocketManager;
|
|
19
|
-
private releaseEventManager;
|
|
15
|
+
protected getManager<T extends IManager>(managerSymbol: symbol): T;
|
|
20
16
|
}
|
package/dist/core/Core.js
CHANGED
|
@@ -43,35 +43,15 @@ class AbstractCore {
|
|
|
43
43
|
}
|
|
44
44
|
class AbstractManager {
|
|
45
45
|
dispose() {
|
|
46
|
-
this.releaseEventManager();
|
|
47
46
|
}
|
|
48
47
|
getModel(modelSymbol) {
|
|
49
48
|
// 保持框架独立性,不与具体应用入口(app类)耦合
|
|
50
49
|
// 框架高内聚,使用ServiceLocator获取core
|
|
51
50
|
return ServiceLocator.getService('core').getModel(modelSymbol);
|
|
52
51
|
}
|
|
53
|
-
//
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
this.eventManager = ServiceLocator.getService('EventManager');
|
|
57
|
-
}
|
|
58
|
-
return this.eventManager;
|
|
59
|
-
}
|
|
60
|
-
// HTTP 管理器获取
|
|
61
|
-
getHttpManager() {
|
|
62
|
-
return ServiceLocator.getService('HttpManager');
|
|
63
|
-
}
|
|
64
|
-
// WebSocket 管理器获取
|
|
65
|
-
getWebSocketManager() {
|
|
66
|
-
return ServiceLocator.getService('WebSocketManager');
|
|
67
|
-
}
|
|
68
|
-
releaseEventManager() {
|
|
69
|
-
var _a, _b;
|
|
70
|
-
if (this.eventManager) {
|
|
71
|
-
// 假设 IEventManager 有销毁逻辑(如第三方库)
|
|
72
|
-
(_b = (_a = this.eventManager) === null || _a === void 0 ? void 0 : _a.dispose) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
73
|
-
this.eventManager = undefined;
|
|
74
|
-
}
|
|
52
|
+
// 业务模块的事件管理器获取(通过服务定位器解耦)
|
|
53
|
+
getManager(managerSymbol) {
|
|
54
|
+
return ServiceLocator.getService('core').getManager(managerSymbol);
|
|
75
55
|
}
|
|
76
56
|
}
|
|
77
57
|
|
package/dist/mflow-tools.zip
CHANGED
|
Binary file
|
package/package.json
CHANGED