mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-24 08:14:00 +00:00
34 lines
993 B
C++
34 lines
993 B
C++
#pragma once
|
|
// using namespace std;
|
|
|
|
#include <format>
|
|
#include <vector>
|
|
|
|
#include "app/common/Tutorial/TutorialEnum.h"
|
|
#include "TutorialTask.h"
|
|
|
|
class Tutorial;
|
|
class TutorialConstraint;
|
|
|
|
// A task that creates an maintains an area constraint until it is activated
|
|
class AreaTask : public TutorialTask {
|
|
public:
|
|
enum EAreaTaskCompletionStates {
|
|
eAreaTaskCompletion_CompleteOnActivation,
|
|
eAreaTaskCompletion_CompleteOnConstraintsSatisfied,
|
|
};
|
|
|
|
private:
|
|
EAreaTaskCompletionStates m_completionState;
|
|
eTutorial_State m_tutorialState;
|
|
|
|
public:
|
|
AreaTask(eTutorial_State state, Tutorial* tutorial,
|
|
std::vector<TutorialConstraint*>* inConstraints,
|
|
int descriptionId = -1,
|
|
EAreaTaskCompletionStates completionState =
|
|
eAreaTaskCompletion_CompleteOnActivation);
|
|
virtual bool isCompleted();
|
|
virtual void setAsCurrentTask(bool active = true);
|
|
virtual void onStateChange(eTutorial_State newState);
|
|
}; |