@@ -6,4 +6,29 @@ export default {
66console . log ( 'GUARD: hasNoNextLevelProgress' )
77return false
88} ,
9+ tasksComplete :( context :CR . MachineContext ) :boolean => {
10+ console . log ( 'GUARD: tasksComplete' )
11+ return false
12+ } ,
13+ hasNextStep :( context :CR . MachineContext ) :boolean => {
14+ console . log ( 'GUARD: hasNextStep' )
15+ const { data, position, progress} = context
16+ const steps = data . stages [ position . stageId ] . stepList
17+ const isStageComplete = progress . stages [ position . stageId ] || steps [ steps . length - 1 ] === position . stepId
18+ return ! isStageComplete
19+ } ,
20+ hasNextStage :( context :CR . MachineContext ) :boolean => {
21+ console . log ( 'GUARD: hasNextStage' )
22+ const { data, position, progress} = context
23+ const stages = data . levels [ position . levelId ] . stageList
24+ const isLevelComplete = progress . levels [ position . levelId ] || stages [ stages . length - 1 ] === position . stageId
25+ return ! isLevelComplete
26+ } ,
27+ hasNextLevel :( context :CR . MachineContext ) :boolean => {
28+ console . log ( 'GUARD: hasNextLevel' )
29+ const { data, position, progress} = context
30+ const levels = data . summary . levelList
31+ const isTutorialComplete = progress . complete || levels [ levels . length - 1 ] === position . levelId
32+ return ! isTutorialComplete
33+ } ,
934}