From b691c43c44ff180d10e7d4a9afc83b98551ff586 Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Sun, 1 Mar 2026 12:16:08 +0800 Subject: Initial commit --- .../Common/Tutorial/TutorialConstraint.h | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Minecraft.Client/Common/Tutorial/TutorialConstraint.h (limited to 'Minecraft.Client/Common/Tutorial/TutorialConstraint.h') diff --git a/Minecraft.Client/Common/Tutorial/TutorialConstraint.h b/Minecraft.Client/Common/Tutorial/TutorialConstraint.h new file mode 100644 index 00000000..877fd57e --- /dev/null +++ b/Minecraft.Client/Common/Tutorial/TutorialConstraint.h @@ -0,0 +1,41 @@ +#pragma once + +// 4J Stu - An abstract class that represents a constraint on what the user is able to do +class TutorialConstraint +{ +private: + int descriptionId; + bool m_deleteOnDeactivate; + bool m_queuedForRemoval; +public: + enum ConstraintType + { + e_ConstraintInput = 0, // Constraint on controller input + e_ConstraintArea, + e_ConstraintAllInput, + e_ConstraintXuiInput, + e_ConstraintChangeState, + }; + + TutorialConstraint(int descriptionId) : descriptionId( descriptionId ), m_deleteOnDeactivate( false ), m_queuedForRemoval( false ) {} + virtual ~TutorialConstraint() {} + + int getDescriptionId() { return descriptionId; } + + virtual ConstraintType getType() = 0; + + virtual void tick(int iPad) {} + virtual bool isConstraintSatisfied(int iPad) { return true; } + virtual bool isConstraintRestrictive(int iPad) { return true; } + + virtual bool isMappingConstrained(int iPad, int mapping) { return false;} + virtual bool isXuiInputConstrained(int vk) { return false;} + + void setDeleteOnDeactivate(bool deleteOnDeactivated) { m_deleteOnDeactivate = deleteOnDeactivated; } + bool getDeleteOnDeactivate() { return m_deleteOnDeactivate; } + + void setQueuedForRemoval(bool queued) { m_queuedForRemoval = queued; } + bool getQueuedForRemoval() { return m_queuedForRemoval; } + + virtual bool canMoveToPosition(double xo, double yo, double zo, double xt, double yt, double zt) { return true; } +}; \ No newline at end of file -- cgit v1.2.3