Skip to content

Commit 468b9e9

Browse files
committed
feat(积木模式): begin update
1 parent 8b51004 commit 468b9e9

File tree

37 files changed

+249
-824
lines changed

37 files changed

+249
-824
lines changed

packages/积木模式/article.md

Lines changed: 175 additions & 173 deletions
Large diffs are not rendered by default.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<mxfile host="Electron" modified="2023-05-03T02:09:39.162Z" agent="5.0 (Macintosh; Intel Mac OS X 11_4_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.6.13 Chrome/89.0.4389.128 Electron/12.0.7 Safari/537.36" etag="q9JOtanhp-ayk6i4aNhJ" version="14.6.13" type="device"><diagram id="_nywk-HueDYWiFCjRjqK" name="第 1 页">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</diagram></mxfile>
1+
<mxfile host="Electron" modified="2023-05-12T00:39:48.664Z" agent="5.0 (Macintosh; Intel Mac OS X 11_4_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.6.13 Chrome/89.0.4389.128 Electron/12.0.7 Safari/537.36" etag="wHKlPWp1XyZeSRkr5dv7" version="14.6.13" type="device"><diagram id="_nywk-HueDYWiFCjRjqK" name="第 1 页">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</diagram></mxfile>

积木模式代码_ts/block_facade/src/Main.ts

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import * as BlockManager from "block_manager/src/Main"
2-
import * as SceneManagerBlock from "sceneManager_block/src/Main"
3-
import * as DirectorBlock from "director_block/src/Main"
4-
import * as RenderBlock from "render_block/src/Main"
5-
import * as EngineBlock from "engine_block/src/Main"
6-
import * as MathBlock from "math_block/src/Main"
2+
import * as SceneManagerBlockImplement from "sceneManager_block_implement/src/Main"
3+
import * as DirectorBlockImplement from "director_block_implement/src/Main"
4+
import * as RenderBlockImplement from "render_block_implement/src/Main"
5+
import * as EngineBlockImplement from "engine_block_implement/src/Main"
6+
import * as MathBlockImplement from "math_block_implement/src/Main"
77
import { blockProtocolName, blockService, state as blockManagerState } from "block_manager/src/BlockManagerType"
88

99
export let init = (): blockManagerState => {
@@ -12,37 +12,37 @@ export let init = (): blockManagerState => {
1212
blockManagerState = BlockManager.registerBlock(
1313
blockManagerState,
1414
"engine_block_protocol",
15-
EngineBlock.getBlockService,
16-
EngineBlock.getDependentBlockProtocolNameMap(),
17-
EngineBlock.createBlockState()
15+
EngineBlockImplement.getBlockService,
16+
EngineBlockImplement.getDependentBlockProtocolNameMap(),
17+
EngineBlockImplement.createBlockState()
1818
)
1919
blockManagerState = BlockManager.registerBlock(
2020
blockManagerState,
2121
"director_block_protocol",
22-
DirectorBlock.getBlockService,
23-
DirectorBlock.getDependentBlockProtocolNameMap(),
24-
DirectorBlock.createBlockState()
22+
DirectorBlockImplement.getBlockService,
23+
DirectorBlockImplement.getDependentBlockProtocolNameMap(),
24+
DirectorBlockImplement.createBlockState()
2525
)
2626
blockManagerState = BlockManager.registerBlock(
2727
blockManagerState,
2828
"sceneManager_block_protocol",
29-
SceneManagerBlock.getBlockService,
30-
SceneManagerBlock.getDependentBlockProtocolNameMap(),
31-
SceneManagerBlock.createBlockState()
29+
SceneManagerBlockImplement.getBlockService,
30+
SceneManagerBlockImplement.getDependentBlockProtocolNameMap(),
31+
SceneManagerBlockImplement.createBlockState()
3232
)
3333
blockManagerState = BlockManager.registerBlock(
3434
blockManagerState,
3535
"render_block_protocol",
36-
RenderBlock.getBlockService,
37-
RenderBlock.getDependentBlockProtocolNameMap(),
38-
RenderBlock.createBlockState()
36+
RenderBlockImplement.getBlockService,
37+
RenderBlockImplement.getDependentBlockProtocolNameMap(),
38+
RenderBlockImplement.createBlockState()
3939
)
4040
blockManagerState = BlockManager.registerBlock(
4141
blockManagerState,
4242
"math_block_protocol",
43-
MathBlock.getBlockService,
44-
MathBlock.getDependentBlockProtocolNameMap(),
45-
MathBlock.createBlockState()
43+
MathBlockImplement.getBlockService,
44+
MathBlockImplement.getDependentBlockProtocolNameMap(),
45+
MathBlockImplement.createBlockState()
4646
)
4747

4848
return blockManagerState
Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,29 @@
1-
import { state, blockProtocolName, getBlockService, api } from "./BlockManagerType"
1+
import { state as blockManagerState, blockProtocolName, getBlockService, api } from "./BlockManagerType"
22
import { Map } from "immutable"
33
import { getExnFromStrictUndefined } from "commonlib-ts/src/NullableUtils"
44

5-
export let createState = (): state => {
5+
export let createState = (): blockManagerState => {
66
return {
77
blockServiceMap: Map(),
88
blockStateMap: Map()
99
}
1010
}
1111

12-
export let getBlockServiceExn = <blockService>(state: state, blockProtocolName: blockProtocolName): blockService => {
13-
return getExnFromStrictUndefined(state.blockServiceMap.get(blockProtocolName))
12+
export let getBlockServiceExn = <blockService>(blockManagerState: blockManagerState, blockProtocolName: blockProtocolName): blockService => {
13+
return getExnFromStrictUndefined(blockManagerState.blockServiceMap.get(blockProtocolName))
1414
}
1515

16-
export let getBlockStateExn = <blockState>(state: state, blockProtocolName: blockProtocolName): blockState => {
17-
return getExnFromStrictUndefined(state.blockStateMap.get(blockProtocolName))
16+
export let getBlockStateExn = <blockState>(blockManagerState: blockManagerState, blockProtocolName: blockProtocolName): blockState => {
17+
return getExnFromStrictUndefined(blockManagerState.blockStateMap.get(blockProtocolName))
1818
}
1919

20-
export let setBlockState = <blockState>(state: state, blockProtocolName: blockProtocolName, blockState: blockState): state => {
20+
export let setBlockState = <blockState>(blockManagerState: blockManagerState, blockProtocolName: blockProtocolName, blockState: blockState): blockManagerState => {
2121
return {
22-
...state,
23-
blockStateMap: state.blockStateMap.set(blockProtocolName, blockState)
22+
...blockManagerState,
23+
blockStateMap: blockManagerState.blockStateMap.set(blockProtocolName, blockState)
2424
}
2525
}
2626

27-
2827
let _buildAPI = (): api => {
2928
return {
3029
getBlockService: getBlockServiceExn,
@@ -33,19 +32,19 @@ let _buildAPI = (): api => {
3332
}
3433
}
3534

36-
export let registerBlock = <blockService, dependentBlockProtocolNameMap, blockState>(state: state, blockProtocolName: blockProtocolName, getBlockService: getBlockService<dependentBlockProtocolNameMap, blockService>,
35+
export let registerBlock = <blockService, dependentBlockProtocolNameMap, blockState>(blockManagerState: blockManagerState, blockProtocolName: blockProtocolName, getBlockService: getBlockService<dependentBlockProtocolNameMap, blockService>,
3736
dependentBlockProtocolNameMap: dependentBlockProtocolNameMap,
3837
blockState: blockState
39-
): state => {
40-
state = {
41-
...state,
42-
blockServiceMap: state.blockServiceMap.set(blockProtocolName, getBlockService(
38+
): blockManagerState => {
39+
blockManagerState = {
40+
...blockManagerState,
41+
blockServiceMap: blockManagerState.blockServiceMap.set(blockProtocolName, getBlockService(
4342
_buildAPI(),
4443
dependentBlockProtocolNameMap
4544
))
4645
}
4746

48-
state = setBlockState(state, blockProtocolName, blockState)
47+
blockManagerState = setBlockState(blockManagerState, blockProtocolName, blockState)
4948

50-
return state
49+
return blockManagerState
5150
}

积木模式代码_ts/director_block/.gitignore

Lines changed: 0 additions & 23 deletions
This file was deleted.

积木模式代码_ts/director_block/package.json

Lines changed: 0 additions & 13 deletions
This file was deleted.

积木模式代码_ts/director_block/src/DependentMapType.ts

Lines changed: 0 additions & 4 deletions
This file was deleted.

积木模式代码_ts/director_block/src/Main.ts

Lines changed: 0 additions & 65 deletions
This file was deleted.

积木模式代码_ts/director_block/tsconfig.json

Lines changed: 0 additions & 25 deletions
This file was deleted.

积木模式代码_ts/engine_block/.gitignore

Lines changed: 0 additions & 23 deletions
This file was deleted.

0 commit comments

Comments
 (0)