the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2
3// 4J Stu - An abstract class that represents a constraint on what the user is able to do
4class TutorialConstraint
5{
6private:
7 int descriptionId;
8 bool m_deleteOnDeactivate;
9 bool m_queuedForRemoval;
10public:
11 enum ConstraintType
12 {
13 e_ConstraintInput = 0, // Constraint on controller input
14 e_ConstraintArea,
15 e_ConstraintAllInput,
16 e_ConstraintXuiInput,
17 e_ConstraintChangeState,
18 };
19
20 TutorialConstraint(int descriptionId) : descriptionId( descriptionId ), m_deleteOnDeactivate( false ), m_queuedForRemoval( false ) {}
21 virtual ~TutorialConstraint() {}
22
23 int getDescriptionId() { return descriptionId; }
24
25 virtual ConstraintType getType() = 0;
26
27 virtual void tick(int iPad) {}
28 virtual bool isConstraintSatisfied(int iPad) { return true; }
29 virtual bool isConstraintRestrictive(int iPad) { return true; }
30
31 virtual bool isMappingConstrained(int iPad, int mapping) { return false;}
32 virtual bool isXuiInputConstrained(int vk) { return false;}
33
34 void setDeleteOnDeactivate(bool deleteOnDeactivated) { m_deleteOnDeactivate = deleteOnDeactivated; }
35 bool getDeleteOnDeactivate() { return m_deleteOnDeactivate; }
36
37 void setQueuedForRemoval(bool queued) { m_queuedForRemoval = queued; }
38 bool getQueuedForRemoval() { return m_queuedForRemoval; }
39
40 virtual bool canMoveToPosition(double xo, double yo, double zo, double xt, double yt, double zt) { return true; }
41};