|
1 | 1 | import * as CR from 'typings' |
2 | 2 |
|
3 | 3 | export default { |
4 | | - // skip to the stage if the level has already been started |
5 | | - hasNoNextLevelProgress: (context: CR.MachineContext): boolean => { |
6 | | - console.log('GUARD: hasNoNextLevelProgress') |
7 | | - return false |
8 | | - }, |
9 | | - tasksComplete: (context: CR.MachineContext): boolean => { |
10 | | - console.log('GUARD: tasksComplete') |
11 | | - return false |
12 | | - }, |
13 | 4 | hasNextStep: (context: CR.MachineContext): boolean => { |
14 | | - console.log('GUARD: hasNextStep') |
15 | | - const { data, position, progress } = context |
| 5 | + const { data, position } = context |
16 | 6 | const steps = data.stages[position.stageId].stepList |
17 | | - const isStageComplete = progress.stages[position.stageId] || steps[steps.length - 1] === position.stepId |
18 | | - return !isStageComplete |
| 7 | + const hasNext = steps[steps.length - 1] !== position.stepId |
| 8 | + console.log('GUARD: hasNextStep', hasNext) |
| 9 | + return hasNext |
19 | 10 | }, |
20 | 11 | hasNextStage: (context: CR.MachineContext): boolean => { |
21 | | - console.log('GUARD: hasNextStage') |
22 | | - const { data, position, progress } = context |
| 12 | + const { data, position } = context |
23 | 13 | const stages = data.levels[position.levelId].stageList |
24 | | - const isLevelComplete = progress.levels[position.levelId] || stages[stages.length - 1] === position.stageId |
25 | | - return !isLevelComplete |
| 14 | + const hasNext = stages[stages.length - 1] !== position.stageId |
| 15 | + console.log('GUARD: hasNextStage', hasNext) |
| 16 | + return hasNext |
26 | 17 | }, |
27 | 18 | hasNextLevel: (context: CR.MachineContext): boolean => { |
28 | | - console.log('GUARD: hasNextLevel') |
29 | | - const { data, position, progress } = context |
| 19 | + const { data, position } = context |
30 | 20 | const levels = data.summary.levelList |
31 | | - const isTutorialComplete = progress.complete || levels[levels.length - 1] === position.levelId |
32 | | - return !isTutorialComplete |
| 21 | + const hasNext = levels[levels.length - 1] !== position.levelId |
| 22 | + console.log('GUARD: hasNextLevel', hasNext) |
| 23 | + return hasNext |
33 | 24 | }, |
34 | 25 | } |
0 commit comments