aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/Tutorial/CompleteUsingItemTask.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.Client/Common/Tutorial/CompleteUsingItemTask.cpp')
-rw-r--r--Minecraft.Client/Common/Tutorial/CompleteUsingItemTask.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/Minecraft.Client/Common/Tutorial/CompleteUsingItemTask.cpp b/Minecraft.Client/Common/Tutorial/CompleteUsingItemTask.cpp
new file mode 100644
index 00000000..43b2f7f3
--- /dev/null
+++ b/Minecraft.Client/Common/Tutorial/CompleteUsingItemTask.cpp
@@ -0,0 +1,37 @@
+#include "stdafx.h"
+#include "..\..\..\Minecraft.World\ItemInstance.h"
+#include "CompleteUsingItemTask.h"
+
+CompleteUsingItemTask::CompleteUsingItemTask(Tutorial *tutorial, int descriptionId, int itemIds[], unsigned int itemIdsLength, bool enablePreCompletion)
+ : TutorialTask( tutorial, descriptionId, enablePreCompletion, NULL)
+{
+ m_iValidItemsA= new int [itemIdsLength];
+ for(int i=0;i<itemIdsLength;i++)
+ {
+ m_iValidItemsA[i]=itemIds[i];
+ }
+ m_iValidItemsCount = itemIdsLength;
+}
+
+CompleteUsingItemTask::~CompleteUsingItemTask()
+{
+ delete [] m_iValidItemsA;
+}
+
+bool CompleteUsingItemTask::isCompleted()
+{
+ return bIsCompleted;
+}
+
+void CompleteUsingItemTask::completeUsingItem(shared_ptr<ItemInstance> item)
+{
+ if(!hasBeenActivated() && !isPreCompletionEnabled()) return;
+ for(int i=0;i<m_iValidItemsCount;i++)
+ {
+ if( item->id == m_iValidItemsA[i] )
+ {
+ bIsCompleted = true;
+ break;
+ }
+ }
+} \ No newline at end of file