CEL

Public API Reference

iQuest Struct Reference

A quest instance. More...

#include <tools/questmanager.h>

Inheritance diagram for iQuest:

List of all members.

Public Member Functions

virtual void Activate ()=0
 Activate this quest.
virtual void Deactivate ()=0
 Deactivate this quest.
virtual iCelSequenceFindSequence (const char *name)=0
 Find a sequence.
virtual const char * GetCurrentState () const =0
 Get current state name of this quest.
virtual bool IsModifiedSinceBaseline () const =0
 Return true if this quest was modified after the baseline.
virtual void MarkBaseline ()=0
 Mark the baseline for this quest.
virtual void RestoreModifications (iCelCompactDataBufferReader *buf, const csHash< csString, csStringID > &strings)=0
 Call this function if the quest is in the state as it was at the moment of the baseline.
virtual void SaveModifications (iCelCompactDataBufferWriter *buf, iStringSet *strings)=0
 Return the data that represents the information that changed after the baseline.
virtual bool SwitchState (const char *state)=0
 Switch this quest to some specific state.

Detailed Description

A quest instance.

This is created (by the quest manager) from a quest factory using the trigger and reward factories.

Definition at line 50 of file questmanager.h.


Member Function Documentation

virtual void iQuest::Activate (  )  [pure virtual]

Activate this quest.

This means it will process events again. Quests are activated by default.

virtual void iQuest::Deactivate (  )  [pure virtual]

Deactivate this quest.

This means that events will no longer be processed.

virtual iCelSequence* iQuest::FindSequence ( const char *  name  )  [pure virtual]

Find a sequence.

virtual const char* iQuest::GetCurrentState (  )  const [pure virtual]

Get current state name of this quest.

virtual bool iQuest::IsModifiedSinceBaseline (  )  const [pure virtual]

Return true if this quest was modified after the baseline.

virtual void iQuest::MarkBaseline (  )  [pure virtual]

Mark the baseline for this quest.

This means that the status of this quest as it is now doesn't have to be saved. Only changes to the quest that happen after this baseline have to be modified. A quest doesn't actually have to do this in a granular way. It can simply say that it saves itself completely as soon as it has been modified after the baseline.

virtual void iQuest::RestoreModifications ( iCelCompactDataBufferReader buf,
const csHash< csString, csStringID > &  strings 
) [pure virtual]

Call this function if the quest is in the state as it was at the moment of the baseline.

This function will put back the modifications that were made after the baseline. Interned strings can be fetched from the 'strings' set.

virtual void iQuest::SaveModifications ( iCelCompactDataBufferWriter buf,
iStringSet strings 
) [pure virtual]

Return the data that represents the information that changed after the baseline.

If it is too complicated to actually return the information that really changed it is allowed for this function to simply save the complete state. If this function wants to save strings effectively it is best to intern them first using the 'strings' set.

virtual bool iQuest::SwitchState ( const char *  state  )  [pure virtual]

Switch this quest to some specific state.

Returns false if state doesn't exist (nothing happens then).


The documentation for this struct was generated from the following file:

Generated for CEL: Crystal Entity Layer 2.1 by doxygen 1.6.1