强制性引导:只能点某个按钮 优:程序简单 缺: 玩家体验差
开放式引导:不强制点 优:玩家体验好 缺: 程序复杂
需求分析:
1.开放式引导,引导是到达某个条件后进行一系列行为(引导行为1,2,3,4)帮助玩家快速了解功能
2.每个行为都有自己单独的表现
3.引导可以共存,共存时用优先级判断展示。可以插入,回退
模块设计:
1.新手引导的触发方式应该是挂在logic外的 不应该和代码混在一起 (可以用观察者模式 事件来触发)
2.引导有很多不同的表现和行为(不同的object),并且需要处理好每个引导的生命周期(需要有一个引导行为的接口 实现初始化和清空这两个必要的接口)。
3.满足引导触发条件后,先加入引导列表判断优先级后决定是否展示
4.引导触发后的逻辑大概有:行为对象初始化,当前行为引导是否满足条件能触发,触发后的表现,表现完后的清空 ,执行下一个行为,引导结束。
还有各种引导行为跳转、回退、插入,这么多的逻辑想要理清楚,最好就是抽象一下流程。跳转,回退时不容易出问题。
用流程来控制,只提供三个接口:执行当前流程、下一步流程、切换流程 防止过多的逻辑到时候没有抽象分类理不清楚发生了什么
UML结构流程图