@@ -63,7 +63,7 @@ let worldState = createState()
6363worldState = _createScene (worldState )
6464```
6565
66- 我们首先创建了worldState ,用来保存所有的数据;
66+ 我们首先创建了WorldState ,用来保存所有的数据;
6767然后创建了场景,包括两个普通英雄和两个超级英雄,其中第一个普通英雄进行了移动,第一个超级英雄进行了移动和飞行
6868
6969
@@ -77,7 +77,7 @@ export let createState = (): worldState => {
7777}
7878```
7979
80- createState函数创建并返回了worldState ,它包括两个分别用来保存所有的normalHero和所有的superHero的容器-Hash Map
80+ createState函数创建并返回了WorldState ,它包括两个分别用来保存所有的normalHero和所有的superHero的容器-Hash Map
8181
8282
8383
@@ -127,7 +127,7 @@ export let api = {
127127我们将一个英雄的数据保存在一个state中,然后用一个索引与其关联。具体就是:
128128normalHero、superHero其实就是一个number类型的id值
129129normalHeroState、superHeroState分别保存了一个普通英雄、一个超级英雄的数据(比如position、velocity)
130- normalHero与normalHeroState一一关联,这个关联体现在前者是worldState ->normalHeros这个Hash Map的Key,后者是它的Value
130+ normalHero与normalHeroState一一关联,这个关联体现在前者是WorldState ->normalHeros这个Hash Map的Key,后者是它的Value
131131同理,superHero与superHeroState关联
132132
133133World封装了操作Hero的API
@@ -392,7 +392,7 @@ OneByOne渲染 SuperHero...
392392首先进行了初始化;
393393然后更新了所有的人物,包括两个普通英雄和两个超级英雄;
394394然后依次渲染了2个超级英雄,以及一次性批量渲染了所有的普通英雄;
395- 最后打印了worldState
395+ 最后打印了WorldState
396396
397397我们看到normalHeros中有一个的position为[ 2,2,2] ,说明该普通英雄进行了move操作;superHeros中有一个的position为[ 6,6,6] ,说明该超级英雄进行了move和fly操作
398398normalHeros和superHeros中的Key因为是随机生成的id值,所以每次打印时值都不一样
@@ -525,7 +525,7 @@ export let createState = (): worldState => {
525525}
526526```
527527
528- createState函数创建并返回了worldState ,它现在是包括所有的GameObject的容器Hash Map
528+ createState函数创建并返回了WorldState ,它现在是包括所有的GameObject的容器Hash Map
529529
530530
531531
@@ -577,7 +577,7 @@ export let api = {
577577这里与之前一样,我们将一个GameObject的数据保存在一个state中,然后用一个索引与其关联。具体就是:
578578gameObject其实就是一个number类型的id值,
579579gameObjectState保存了一个GameObject的数据
580- gameObject与gameObjectState一一关联,这个关联体现在前者是worldState ->gameObjects这个Hash Map的Key,后者是它的Value
580+ gameObject与gameObjectState一一关联,这个关联体现在前者是WorldState ->gameObjects这个Hash Map的Key,后者是它的Value
581581
582582World封装了操作GameObject和组件的API
583583
@@ -865,10 +865,10 @@ OneByOne渲染 SuperHero...
865865运行结果的步骤与之前一样
866866不同之处在于:
867867更新人物变为更新positionComponent;
868- 打印的worldState不一样
868+ 打印的WorldState不一样
869869
870870
871- 我们看下打印的worldState :
871+ 我们看下打印的WorldState :
872872gameObjects包括了4个gameObject的数据;
873873有一个gameObject的positionComponent的position为[ 2,2,2] ,说明该gameObject进行了move操作;
874874有一个gameObject的positionComponent的position为[ 6,6,6] ,说明该gameObject进行了move和fly操作
@@ -931,7 +931,7 @@ World不再管理所有的gameObject,但是仍然实现了初始化和主循
931931
932932我们看下System这一层:
933933有多个System,每个System实现一个行为逻辑
934- 其中,CreateStateSystem实现创建worldState的逻辑,worldState包括了所有的Manager的state ;
934+ 其中,CreateStateSystem实现创建WorldState的逻辑,WorldState包括了所有的Manager的state ;
935935UpdateSystem实现更新所有人物的position的逻辑,具体是更新所有PositionComponent的position;
936936MoveSystem实现一个人物的移动,具体是使用了挂载到该人物对应的 gameObject上的一个positionComponent和一个velocityComponent,更新了该positionComponent的position;
937937FlySystem实现一个人物的飞行,具体是使用了挂载到该人物对应的gameObject上的一个positionComponent、一个velocityComponent、一个flyComponent,更新了该positionComponent的position;
@@ -976,7 +976,7 @@ Client代码:
976976let worldState = createState ({ positionComponentCount: 10 , velocityComponentCount: 10 , flyComponentCount: 10 })
977977```
978978
979- 这里通过调用CreateStateSystem的createState函数来创建worldState
979+ 这里通过调用CreateStateSystem的createState函数来创建WorldState
980980
981981现在我们来看下CreateStateSystem的createState代码:
982982``` ts
@@ -991,7 +991,7 @@ export let createState = ({ positionComponentCount, velocityComponentCount, flyC
991991}
992992```
993993
994- createState函数创建的worldState包括了各个Manager的state
994+ createState函数创建的WorldState包括了各个Manager的state
995995
996996因为Data Oriented组件的state在创建时要创建包括该种组件的所有组件数据的ArrayBuffer,所以需要知道组件的最大个数,因此这里的createState函数接收了三种Data Oriented组件的最大个数
997997
@@ -1489,10 +1489,10 @@ OneByOne渲染 SuperHero...
14891489
14901490运行结果的步骤与之前一样
14911491不同之处在于:
1492- 打印的worldState不一样
1492+ 打印的WorldState不一样
14931493
14941494
1495- 我们看下打印的worldState :
1495+ 我们看下打印的WorldState :
14961496gameObjectManagetState的maxUID为4,说明创建了4个gameObject;
14971497positionComponentManagerState的maxIndex为4,说明创建了4个positionComponent;
14981498positionComponentManagerState的positions有3个连续的值是2、2、2,说明进行了一次move操作;有另外3个连续的值是6、6、6,说明进行了一次move操作和一次fly操作;
@@ -1542,7 +1542,7 @@ Component+GameObject层为组件和GameObject,它们现在只是有一个numbe
15421542下面的角色属于System层:
15431543
15441544- CreateStateSystem
1545- 该角色负责创建worldState
1545+ 该角色负责创建WorldState
15461546
15471547- OtherSystem
15481548该角色代表除了CreateStateSystem以外的System
0 commit comments