aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/Tutorial/ChangeStateConstraint.h
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.Client/Common/Tutorial/ChangeStateConstraint.h')
-rw-r--r--Minecraft.Client/Common/Tutorial/ChangeStateConstraint.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/Minecraft.Client/Common/Tutorial/ChangeStateConstraint.h b/Minecraft.Client/Common/Tutorial/ChangeStateConstraint.h
new file mode 100644
index 00000000..2156870d
--- /dev/null
+++ b/Minecraft.Client/Common/Tutorial/ChangeStateConstraint.h
@@ -0,0 +1,37 @@
+#pragma once
+
+#include "TutorialEnum.h"
+#include "TutorialConstraint.h"
+
+class AABB;
+class Tutorial;
+class GameType;
+
+class ChangeStateConstraint : public TutorialConstraint
+{
+private:
+ AABB *movementArea;
+ bool contains; // If true we must stay in this area, if false must stay out of this area
+ bool m_changeGameMode;
+ GameType *m_targetGameMode;
+ GameType *m_changedFromGameMode;
+
+ eTutorial_State m_targetState;
+ eTutorial_State *m_sourceStates;
+ DWORD m_sourceStatesCount;
+
+ bool m_bHasChanged;
+ eTutorial_State m_changedFromState;
+
+ bool m_bComplete;
+
+ Tutorial *m_tutorial;
+
+public:
+ virtual ConstraintType getType() { return e_ConstraintChangeState; }
+
+ ChangeStateConstraint( Tutorial *tutorial, eTutorial_State targetState, eTutorial_State sourceStates[], DWORD sourceStatesCount, double x0, double y0, double z0, double x1, double y1, double z1, bool contains = true, bool changeGameMode = false, GameType *targetGameMode = NULL );
+ ~ChangeStateConstraint();
+
+ virtual void tick(int iPad);
+}; \ No newline at end of file