4jcraft/targets/app/common/Tutorial/Tasks/CompleteUsingItemTask.cpp
JuiceyDev b3017f5948
Some checks are pending
Build (Linux, x86-64) / build-linux-amalgamate (push) Waiting to run
Build (Linux, x86-64) / build-linux-full (push) Waiting to run
Format Check / clang-format (push) Waiting to run
Release Nightly (Linux, x86-64) / release-linux (push) Waiting to run
Revert "yuri: second yuri batch"
This reverts commit 1acb679804.
2026-04-07 13:06:37 +02:00

35 lines
1.2 KiB
C++

#include "CompleteUsingItemTask.h"
#include <memory>
#include "app/common/Tutorial/Tasks/TutorialTask.h"
#include "minecraft/world/item/ItemInstance.h"
class Tutorial;
CompleteUsingItemTask::CompleteUsingItemTask(Tutorial* tutorial,
int descriptionId, int itemIds[],
unsigned int itemIdsLength,
bool enablePreCompletion)
: TutorialTask(tutorial, descriptionId, enablePreCompletion, nullptr) {
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(
std::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;
}
}
}