思路
进入游戏后 发送消息 通知引导管理器检测 所有引导是否完成 如果完成 引导管理器注销消息 如果未完成 检测当前是否有满足触发条件的引导 如果有 解析引导参数列表 生成步骤队列 打开引导界面 并顺序执行步骤队列
引导步骤用于实现不同执行动作:
ItemMaskStep - 查找控件,设置遮罩,点击该控件 通知引导管理器执行下一个步骤
CloseViewStep - 关闭ui,避免ui错乱导致引导失效
...
配置表:
需要的消息,这些消息用于引导管理器触发引导:
Msg_EnterGame_Finish -进入游戏
Msg_RoleLevelUp - 角色升级
Msg_NewMIssion - 新任务
...
效果:
要做好一个健壮易扩展的引导功能并不简单,
他和其他模块间总会有各种纠缠,尽量不要对其他模块进行改变,
能解藕的尽可能解藕
当然可能会有 对话的引导 ,拖曳的引导 等等
完全可以自己魔改,对于step来说 它是无状态的,执行什么业务逻辑是根据你的需求来定的
excel配置转protobuf的工具,使用的是tabtoy的开源工具(golang写的) ,方便,转换速度快: tabtoy
工程(unity2017.4): guide_project
提取码:qind