the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#include "stdafx.h"
2#include "Tutorial.h"
3#include "AreaTask.h"
4
5AreaTask::AreaTask(eTutorial_State state, Tutorial *tutorial, vector<TutorialConstraint *> *inConstraints, int descriptionId, EAreaTaskCompletionStates completionState)
6 : TutorialTask( tutorial, descriptionId, false, inConstraints, false, false, false )
7{
8 m_tutorialState = state;
9 if(m_tutorialState == e_Tutorial_State_Gameplay)
10 {
11 enableConstraints(true);
12 }
13 m_completionState = completionState;
14}
15
16bool AreaTask::isCompleted()
17{
18 if(bIsCompleted) return true;
19
20 bool complete = false;
21 switch(m_completionState)
22 {
23 case eAreaTaskCompletion_CompleteOnConstraintsSatisfied:
24 {
25 bool allSatisfied = true;
26 for(AUTO_VAR(it, constraints.begin()); it != constraints.end(); ++it)
27 {
28 TutorialConstraint *constraint = *it;
29 if(!constraint->isConstraintSatisfied(tutorial->getPad()))
30 {
31 allSatisfied = false;
32 break;
33 }
34 }
35 complete = allSatisfied;
36 }
37 break;
38 case eAreaTaskCompletion_CompleteOnActivation:
39 complete = bHasBeenActivated;
40 break;
41 };
42 bIsCompleted = complete;
43 return complete;
44}
45
46void AreaTask::setAsCurrentTask(bool active)
47{
48 TutorialTask::setAsCurrentTask(active);
49
50 if(m_completionState == eAreaTaskCompletion_CompleteOnConstraintsSatisfied)
51 {
52 enableConstraints(active);
53 }
54}
55
56void AreaTask::onStateChange(eTutorial_State newState)
57{
58 if(m_completionState == eAreaTaskCompletion_CompleteOnActivation)
59 {
60 if(m_tutorialState == newState)
61 {
62 enableConstraints(true);
63 }
64 else if(m_tutorialState != e_Tutorial_State_Gameplay)
65 {
66 //enableConstraints(false);
67 }
68 }
69}