* try to resolve merge conflict
* feat: TU19 (Dec 2014) Features & Content (#32)
* December 2014 files
* Working release build
* Fix compilation issues
* Add sound to Windows64Media
* Add DLC content and force Tutorial DLC
* Revert "Add DLC content and force Tutorial DLC"
This reverts commit 97a4399472.
* Disable broken light packing
* Disable breakpoint during DLC texture map load
Allows DLC loading but the DLC textures are still broken
* Fix post build not working
* ...
* fix vs2022 build
* fix cmake build
---------
Co-authored-by: Loki <lokirautio@gmail.com>
67 lines
2.7 KiB
C++
67 lines
2.7 KiB
C++
#pragma once
|
|
using namespace std;
|
|
#include "TutorialEnum.h"
|
|
|
|
class Level;
|
|
class Tutorial;
|
|
class TutorialConstraint;
|
|
class MobEffect;
|
|
class Entity;
|
|
|
|
// A class that represents each individual task in the tutorial.
|
|
//
|
|
// Members:
|
|
// enablePreCompletion - If this is true, then the player can complete this task out of sequence.
|
|
// This stops us asking them to do things they have already done
|
|
// constraints - A list of constraints which can be activated (as a whole).
|
|
// If they are active, then the constraints are removed when the task is completed
|
|
// areConstraintsEnabled- A flag which records whether or not we have added the constraints to the tutorial
|
|
class TutorialTask
|
|
{
|
|
protected:
|
|
int descriptionId;
|
|
int m_promptId;
|
|
Tutorial *tutorial;
|
|
bool enablePreCompletion;
|
|
bool bHasBeenActivated;
|
|
bool m_bAllowFade;
|
|
bool m_bTaskReminders;
|
|
bool m_bShowMinimumTime;
|
|
|
|
protected:
|
|
bool bIsCompleted;
|
|
bool m_bShownForMinimumTime;
|
|
vector<TutorialConstraint *> constraints;
|
|
bool areConstraintsEnabled;
|
|
public:
|
|
TutorialTask(Tutorial *tutorial, int descriptionId, bool enablePreCompletion, vector<TutorialConstraint *> *inConstraints, bool bShowMinimumTime=false, bool bAllowFade=true, bool bTaskReminders=true );
|
|
virtual ~TutorialTask();
|
|
|
|
virtual int getDescriptionId() { return descriptionId; }
|
|
virtual int getPromptId() { return m_promptId; }
|
|
|
|
virtual bool isCompleted() = 0;
|
|
virtual eTutorial_CompletionAction getCompletionAction() { return e_Tutorial_Completion_None; }
|
|
virtual bool isPreCompletionEnabled() { return enablePreCompletion; }
|
|
virtual void taskCompleted();
|
|
virtual void enableConstraints(bool enable, bool delayRemove = false);
|
|
virtual void setAsCurrentTask(bool active = true);
|
|
|
|
virtual void setShownForMinimumTime() { m_bShownForMinimumTime = true; }
|
|
virtual bool hasBeenActivated() { return bHasBeenActivated; }
|
|
virtual bool AllowFade() { return m_bAllowFade;}
|
|
bool TaskReminders() { return m_bTaskReminders;}
|
|
virtual bool ShowMinimumTime() { return m_bShowMinimumTime;}
|
|
|
|
virtual void useItemOn(Level *level, shared_ptr<ItemInstance> item, int x, int y, int z, bool bTestUseOnly=false) { }
|
|
virtual void useItem(shared_ptr<ItemInstance> item,bool bTestUseOnly=false) { }
|
|
virtual void completeUsingItem(shared_ptr<ItemInstance> item) { }
|
|
virtual void handleUIInput(int iAction) { }
|
|
virtual void onCrafted(shared_ptr<ItemInstance> item) { }
|
|
virtual void onTake(shared_ptr<ItemInstance> item, unsigned int invItemCountAnyAux, unsigned int invItemCountThisAux) { }
|
|
virtual void onStateChange(eTutorial_State newState) { }
|
|
virtual void onEffectChanged(MobEffect *effect, bool bRemoved=false) { }
|
|
|
|
virtual void onLookAtEntity(shared_ptr<Entity> entity) { }
|
|
virtual void onRideEntity(shared_ptr<Entity> entity) { }
|
|
}; |