aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/Tutorial/ChoiceTask.h
blob: 79c2ba429dc69ebc08a1e1bdf7de8a66183375d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#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();
};