4jcraft/Minecraft.Client/Platform/Common/Tutorial/ControllerTask.h

29 lines
932 B
C++

#pragma once
//using namespace std;
#include "TutorialTask.h"
// 4J Stu - Tasks that involve using the controller
class ControllerTask : public TutorialTask
{
private:
std::unordered_map<int, bool> completedMappings;
std::unordered_map<int, bool> southpawCompletedMappings;
bool m_bHasSouthpaw;
unsigned int m_uiCompletionMask;
int *m_iCompletionMaskA;
int m_iCompletionMaskACount;
bool CompletionMaskIsValid();
// Mouse tracking for tutorial look-around task
float m_lastYaw;
float m_lastPitch;
bool m_initialized = false;
public:
ControllerTask(Tutorial *tutorial, int descriptionId, bool enablePreCompletion, bool showMinimumTime,
int mappings[], unsigned int mappingsLength, int iCompletionMaskA[]=NULL, int iCompletionMaskACount=0, int iSouthpawMappings[]=NULL, unsigned int uiSouthpawMappingsCount=0);
~ControllerTask();
virtual bool isCompleted();
virtual void setAsCurrentTask(bool active = true);
};