4jcraft/targets/app/common/Tutorial/Tasks/ChoiceTask.h

29 lines
899 B
C++

#pragma once
// using namespace std;
#include "app/common/Tutorial/TutorialEnum.h"
#include "TutorialTask.h"
class Tutorial;
// Information messages with a choice
class ChoiceTask : public TutorialTask {
private:
int m_iConfirmMapping, m_iCancelMapping;
bool m_bConfirmMappingComplete, m_bCancelMappingComplete;
eTutorial_CompletionAction m_cancelAction;
bool CompletionMaskIsValid();
public:
ChoiceTask(
Tutorial* tutorial, int descriptionId, int promptId = -1,
bool requiresUserInput = false, int iConfirmMapping = 0,
int iCancelMapping = 0,
eTutorial_CompletionAction cancelAction = e_Tutorial_Completion_None);
virtual bool isCompleted();
virtual eTutorial_CompletionAction getCompletionAction();
virtual int getPromptId();
virtual void setAsCurrentTask(bool active = true);
virtual void handleUIInput(int iAction);
};