aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/Tutorial/UseTileTask.cpp
blob: 57e67cadc5c3b51d9635c895c04a6f2835f847d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "stdafx.h"
#include "..\..\..\Minecraft.World\Entity.h"
#include "..\..\..\Minecraft.World\Level.h"
#include "..\..\..\Minecraft.World\ItemInstance.h"
#include "UseTileTask.h"

UseTileTask::UseTileTask(const int tileId, int x, int y, int z, Tutorial *tutorial, int descriptionId,
	bool enablePreCompletion, vector<TutorialConstraint *> *inConstraints, bool bShowMinimumTime, bool bAllowFade, bool bTaskReminders)
	: TutorialTask( tutorial, descriptionId, enablePreCompletion, inConstraints, bShowMinimumTime, bAllowFade, bTaskReminders ),
	x( x ), y( y ), z( z ), tileId( tileId )
{
	useLocation = true;
}

UseTileTask::UseTileTask(const int tileId, Tutorial *tutorial, int descriptionId,
	bool enablePreCompletion, vector<TutorialConstraint *> *inConstraints, bool bShowMinimumTime, bool bAllowFade, bool bTaskReminders)
	: TutorialTask( tutorial, descriptionId, enablePreCompletion, inConstraints, bShowMinimumTime, bAllowFade, bTaskReminders ),
	tileId( tileId )
{
	useLocation = false;
}

bool UseTileTask::isCompleted()
{
	return bIsCompleted;
}

void UseTileTask::useItemOn(Level *level, std::shared_ptr<ItemInstance> item, int x, int y, int z,bool bTestUseOnly)
{
	if(bTestUseOnly) return;

	if( !enablePreCompletion && !bHasBeenActivated) return;

	if( !useLocation || ( x == this->x && y == this->y && z == this->z ) )
	{
		int t = level->getTile(x, y, z);
		if( t == tileId )
			bIsCompleted = true;
	}
}