Files
2026-03-01 12:16:08 +08:00

27 lines
912 B
C++

#pragma once
using namespace std;
#include "TutorialTask.h"
// Information messages with a choice
class ChoiceTask : public TutorialTask
{
private:
int m_iConfirmMapping, m_iCancelMapping;
bool m_bConfirmMappingComplete, m_bCancelMappingComplete;
eTutorial_CompletionAction m_cancelAction;
ETelemetryChallenges m_eTelemetryEvent;
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, ETelemetryChallenges telemetryEvent = eTelemetryChallenges_Unknown);
virtual bool isCompleted();
virtual eTutorial_CompletionAction getCompletionAction();
virtual int getPromptId();
virtual void setAsCurrentTask(bool active = true);
virtual void handleUIInput(int iAction);
private:
void sendTelemetry();
};