@@ -71,8 +71,8 @@ worldState = _createScene(worldState)
7171``` ts
7272export let createState = (): worldState => {
7373 return {
74- normalHeros : Map (),
75- superHeros : Map ()
74+ normalHeroes : Map (),
75+ superHeroes : Map ()
7676 }
7777}
7878```
@@ -87,14 +87,14 @@ WorldUtils
8787export let setNormalHeroState = (worldState : worldState , normalHero : normalHero , normalHeroState : normalHeroState ) => {
8888 return {
8989 ... worldState ,
90- normalHeros : worldState .normalHeros .set (normalHero , normalHeroState )
90+ normalHeroes : worldState .normalHeroes .set (normalHero , normalHeroState )
9191 }
9292}
9393
9494export let setSuperHeroState = (worldState : worldState , superHero : superHero , superHeroState : superHeroState ) => {
9595 return {
9696 ... worldState ,
97- superHeros : worldState .superHeros .set (superHero , superHeroState )
97+ superHeroes : worldState .superHeroes .set (superHero , superHeroState )
9898 }
9999}
100100```
@@ -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->normalHeroes这个Hash Map的Key,后者是它的Value
131131同理,superHero与superHeroState关联
132132
133133World封装了操作Hero的API
@@ -137,13 +137,13 @@ NormalHero的相关代码如下:
137137WorldUtils
138138``` ts
139139export let getNormalHeroState = (worldState : worldState , normalHero : normalHero ): normalHeroState => {
140- return worldState .normalHeros .get (normalHero )
140+ return worldState .normalHeroes .get (normalHero )
141141}
142142
143143export let setNormalHeroState = (worldState : worldState , normalHero : normalHero , normalHeroState : normalHeroState ) => {
144144 return {
145145 ... worldState ,
146- normalHeros : worldState .normalHeros .set (normalHero , normalHeroState )
146+ normalHeroes : worldState .normalHeroes .set (normalHero , normalHeroState )
147147 }
148148}
149149```
@@ -188,14 +188,14 @@ SuperHero的相关代码如下:
188188WorldUtils
189189``` ts
190190export let getSuperHeroState = (worldState : worldState , superHero : superHero ): superHeroState => {
191- return worldState .superHeros .get (superHero )
191+ return worldState .superHeroes .get (superHero )
192192}
193193
194194
195195export let setSuperHeroState = (worldState : worldState , superHero : superHero , superHeroState : superHeroState ) => {
196196 return {
197197 ... worldState ,
198- superHeros : worldState .superHeros .set (superHero , superHeroState )
198+ superHeroes : worldState .superHeroes .set (superHero , superHeroState )
199199 }
200200}
201201```
@@ -291,10 +291,10 @@ World
291291``` ts
292292export let update = (worldState : worldState ): worldState => {
293293 return {
294- normalHeros : worldState .normalHeros .map (normalHeroState => {
294+ normalHeroes : worldState .normalHeroes .map (normalHeroState => {
295295 return NormalHero .update (normalHeroState )
296296 }),
297- superHeros : worldState .superHeros .map (superHeroState => {
297+ superHeroes : worldState .superHeroes .map (superHeroState => {
298298 return SuperHero .update (superHeroState )
299299 })
300300 }
@@ -359,15 +359,15 @@ export let loop = (worldState, [update, renderOneByOne, renderInstances]) => {
359359World
360360``` ts
361361export let renderOneByOne = (worldState : worldState ): void => {
362- worldState .superHeros .forEach (superHeroState => {
362+ worldState .superHeroes .forEach (superHeroState => {
363363 console .log (" OneByOne渲染 SuperHero..." )
364364 })
365365}
366366
367367export let renderInstances = (worldState : worldState ): void => {
368- let normalHeroStates = worldState .normalHeros
368+ let normalHeroStates = worldState .normalHeroes
369369
370- console .log (" 批量Instance渲染 NormalHeros ..." )
370+ console .log (" 批量Instance渲染 NormalHeroes ..." )
371371}
372372```
373373
@@ -385,17 +385,17 @@ export let renderInstances = (worldState: worldState): void => {
385385更新SuperHero
386386OneByOne渲染 SuperHero...
387387OneByOne渲染 SuperHero...
388- 批量Instance渲染 NormalHeros ...
389- {"normalHeros ":{"144891":{"position":[0,0,0],"velocity":1},"648575":{"position":[2,2,2],"velocity":1}},"superHeros ":{"497069":{"position":[6,6,6],"velocity":1,"maxFlyVelocity":10},"783438":{"position":[0,0,0],"velocity":1,"maxFlyVelocity":10}}}
388+ 批量Instance渲染 NormalHeroes ...
389+ {"normalHeroes ":{"144891":{"position":[0,0,0],"velocity":1},"648575":{"position":[2,2,2],"velocity":1}},"superHeroes ":{"497069":{"position":[6,6,6],"velocity":1,"maxFlyVelocity":10},"783438":{"position":[0,0,0],"velocity":1,"maxFlyVelocity":10}}}
390390```
391391
392392首先进行了初始化;
393393然后更新了所有的人物,包括两个普通英雄和两个超级英雄;
394394然后依次渲染了2个超级英雄,以及一次性批量渲染了所有的普通英雄;
395395最后打印了WorldState
396396
397- 我们看到normalHeros中有一个的position为 [ 2,2,2] ,说明该普通英雄进行了move操作;superHeros中有一个的position为 [ 6,6,6] ,说明该超级英雄进行了move和fly操作
398- normalHeros和superHeros中的Key因为是随机生成的id值 ,所以每次打印时值都不一样
397+ 我们看到normalHeroes中有一个的position为 [ 2,2,2] ,说明该普通英雄进行了move操作;superHeroes中有一个的position为 [ 6,6,6] ,说明该超级英雄进行了move和fly操作
398+ normalHeroes和superHeroes中的Key因为是随机生成的id值 ,所以每次打印时值都不一样
399399
400400
401401
@@ -841,7 +841,7 @@ export let renderInstances = (worldState: worldState): void => {
841841 return hasInstanceComponent (gameObjectState )
842842 })
843843
844- console .log (" 批量Instance渲染 NormalHeros ..." )
844+ console .log (" 批量Instance渲染 NormalHeroes ..." )
845845}
846846```
847847
@@ -858,7 +858,7 @@ export let renderInstances = (worldState: worldState): void => {
858858更新PositionComponent
859859OneByOne渲染 SuperHero...
860860OneByOne渲染 SuperHero...
861- 批量Instance渲染 NormalHeros ...
861+ 批量Instance渲染 NormalHeroes ...
862862{"gameObjects":{"304480":{"positionComponent":{"gameObject":304480,"position":[0,0,0]},"velocityComponent":{"gameObject":304480,"velocity":1},"flyComponent":{"gameObject":304480,"maxVelocity":10},"instanceComponent":null},"666533":{"positionComponent":{"gameObject":666533,"position":[2,2,2]},"velocityComponent":{"gameObject":666533,"velocity":1},"flyComponent":null,"instanceComponent":{"gameObject":666533}},"838392":{"positionComponent":{"gameObject":838392,"position":[0,0,0]},"velocityComponent":{"gameObject":838392,"velocity":1},"flyComponent":null,"instanceComponent":{"gameObject":838392}},"936933":{"positionComponent":{"gameObject":936933,"position":[6,6,6]},"velocityComponent":{"gameObject":936933,"velocity":1},"flyComponent":{"gameObject":936933,"maxVelocity":10},"instanceComponent":null}}}
863863```
864864
@@ -1465,7 +1465,7 @@ export let render = (worldState: worldState): void => {
14651465 return hasInstanceComponent (worldState .instanceComponentManagerState , gameObject )
14661466 })
14671467
1468- console .log (" 批量Instance渲染 NormalHeros ..." )
1468+ console .log (" 批量Instance渲染 NormalHeroes ..." )
14691469}
14701470```
14711471
@@ -1483,7 +1483,7 @@ RenderInstancesSystem则是获得所有挂载InstanceComponent组件的gameObjec
14831483更新PositionComponent: 3
14841484OneByOne渲染 SuperHero...
14851485OneByOne渲染 SuperHero...
1486- 批量Instance渲染 NormalHeros ...
1486+ 批量Instance渲染 NormalHeroes ...
14871487{"gameObjectManagerState":{"maxUID":4},"positionComponentManagerState":{"maxIndex":4,"buffer":{},"positions":{"0":2,"1":2,"2":2,"3":0,"4":0,"5":0,"6":6,"7":6,"8":6,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"gameObjectMap":{"0":0,"1":1,"2":2,"3":3},"gameObjectPositionMap":{"0":0,"1":1,"2":2,"3":3}},"velocityComponentManagerState":{"maxIndex":4,"buffer":{},"velocitys":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1},"gameObjectMap":{"0":0,"1":1,"2":2,"3":3},"gameObjectVelocityMap":{"0":0,"1":1,"2":2,"3":3}},"flyComponentManagerState":{"maxIndex":1,"buffer":{},"maxVelocitys":{"0":10,"1":10,"2":10,"3":10,"4":10,"5":10,"6":10,"7":10,"8":10,"9":10},"gameObjectMap":{"0":2,"1":3},"gameObjectFlyMap":{"2":0,"3":1}},"instanceComponentManagerState":{"maxUID":1,"gameObjectMap":{"0":0,"1":1},"gameObjectInstanceMap":{"0":0,"1":1}}}
14881488```
14891489
0 commit comments