我想用 Fiber 描述一些游戏剧情之类的脚本,因为游戏中会有很多自由状态,所以一段剧情大概是这样的:
第一段 => 角色自由移动 => 触发第二段 => 角色自由移动 => 触发第三段
如果有 Fiber 就可以取代状态机,把三段剧情用同步的方式写出来,每一段结束的时候 yield,下一段触发的时候 resume。
但是遇到一个问题就是 Fiber 的状态没办法保存,如果角色在自由移动的时候进行存档,没办法把 Fiber 导出成状态量。
刚才去看了一下 elm-lang,感觉上也会存在类似的问题,FRP 的操作流程是一个整体,而能序列化的只是 Model 的状态,感觉只能做一些这种demo,一旦涉及到不能在一次会话里解决的流程,似乎无法实现。。