4jcraft/minecraft/Minecraft.Client/Common/Source Files/Tutorial/Tasks/AreaTask.h
2026-03-31 13:50:13 -05:00

33 lines
1,001 B
C++

#pragma once
// using namespace std;
#include <format>
#include "TutorialTask.h"
#include "Minecraft.Client/Common/Source Files/Tutorial/TutorialEnum.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);
};