aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/Tutorial/AreaHint.cpp
diff options
context:
space:
mode:
authordaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
committerdaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
commitb691c43c44ff180d10e7d4a9afc83b98551ff586 (patch)
tree3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.Client/Common/Tutorial/AreaHint.cpp
parentdef8cb415354ac390b7e89052a50605285f1aca9 (diff)
Initial commit
Diffstat (limited to 'Minecraft.Client/Common/Tutorial/AreaHint.cpp')
-rw-r--r--Minecraft.Client/Common/Tutorial/AreaHint.cpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/Minecraft.Client/Common/Tutorial/AreaHint.cpp b/Minecraft.Client/Common/Tutorial/AreaHint.cpp
new file mode 100644
index 00000000..8b711c88
--- /dev/null
+++ b/Minecraft.Client/Common/Tutorial/AreaHint.cpp
@@ -0,0 +1,49 @@
+#include "stdafx.h"
+
+#include "..\..\Minecraft.h"
+#include "..\..\MultiplayerLocalPlayer.h"
+#include "AreaHint.h"
+#include "..\..\..\Minecraft.World\AABB.h"
+#include "Tutorial.h"
+
+AreaHint::AreaHint(eTutorial_Hint id, Tutorial *tutorial, eTutorial_State displayState, eTutorial_State completeState,
+ int descriptionId, double x0, double y0, double z0, double x1, double y1, double z1, bool allowFade /*= false*/, bool contains /*= true*/ )
+ : TutorialHint( id, tutorial, descriptionId, e_Hint_Area, allowFade )
+{
+ area = AABB::newPermanent(x0, y0, z0, x1, y1, z1);
+
+ this->contains = contains;
+
+ m_displayState = displayState;
+ m_completeState = completeState;
+}
+
+AreaHint::~AreaHint()
+{
+ delete area;
+}
+
+int AreaHint::tick()
+{
+ Minecraft *minecraft = Minecraft::GetInstance();
+ if( (m_displayState == e_Tutorial_State_Any || m_tutorial->getCurrentState() == m_displayState) &&
+ m_hintNeeded &&
+ area->contains( minecraft->player->getPos(1) ) == contains )
+ {
+ if( m_completeState == e_Tutorial_State_None )
+ {
+ m_hintNeeded = false;
+ }
+ else if ( m_tutorial->isStateCompleted( m_completeState ) )
+ {
+ m_hintNeeded = false;
+ return -1;
+ }
+
+ return m_descriptionId;
+ }
+ else
+ {
+ return -1;
+ }
+} \ No newline at end of file