iQuestManager Struct Reference
This is the quest manager. More...
#include <tools/questmanager.h>

Public Member Functions | |
| virtual iRewardFactory * | AddActionReward (iQuestTriggerResponseFactory *response, const char *entity_par, const char *id_par, const char *pcclass_par)=0 |
| Convenience method to add an 'action' reward factory to a response factory. | |
| virtual iRewardFactory * | AddChangeClassReward (iQuestTriggerResponseFactory *response, const char *entity_par, const char *class_par, bool remove)=0 |
| Convenience method to add a 'changeclass' reward factory to a response factory. | |
| virtual iChangePropertyRewardFactory * | AddChangePropertyReward (iQuestTriggerResponseFactory *response, const char *entity_par, const char *prop_par)=0 |
| Convenience method to add a 'changeproperty' reward factory to a response factory. | |
| virtual iRewardFactory * | AddCreateEntityReward (iQuestTriggerResponseFactory *response, const char *template_par, const char *name_par, iCelParameterBlock *tpl_params)=0 |
| Convenience method to add a 'createentity' reward factory to a response factory. | |
| virtual iRewardFactory * | AddCsSequenceReward (iQuestTriggerResponseFactory *response, const char *sequence_par, const char *delay_par)=0 |
| Convenience method to add an 'cssequence' reward factory to a response factory. | |
| virtual iRewardFactory * | AddDebugPrintReward (iQuestTriggerResponseFactory *response, const char *msg)=0 |
| Convenience method to add a 'debugprint' reward factory to a response factory. | |
| virtual iRewardFactory * | AddDestroyEntityReward (iQuestTriggerResponseFactory *response, const char *entity_par)=0 |
| Convenience method to add a 'destroyentity' reward factory to a response factory. | |
| virtual iRewardFactory * | AddInventoryReward (iQuestTriggerResponseFactory *response, const char *entity_par, const char *child_entity_par)=0 |
| Convenience method to add an 'inventory' reward factory to a response factory. | |
| virtual iRewardFactory * | AddMessageReward (iQuestTriggerResponseFactory *response, const char *entity_par, const char *id_par)=0 |
| Convenience method to add a 'message' reward factory to a response factory. | |
| virtual iRewardFactory * | AddNewStateReward (iQuestTriggerResponseFactory *response, const char *entity_par, const char *state_par)=0 |
| Convenience method to add a 'newstate' reward factory to a response factory. | |
| virtual iRewardFactory * | AddSequenceFinishReward (iQuestTriggerResponseFactory *response, const char *entity_par, const char *sequence_par)=0 |
| Convenience method to add an 'sequencefinish' reward factory to a response factory. | |
| virtual iRewardFactory * | AddSequenceReward (iQuestTriggerResponseFactory *response, const char *entity_par, const char *sequence_par, const char *delay_par)=0 |
| Convenience method to add an 'sequence' reward factory to a response factory. | |
| virtual iQuestFactory * | CreateQuestFactory (const char *name)=0 |
| Create an empty quest factory. | |
| virtual csRef < iQuestFactoryIterator > | GetQuestFactories () const =0 |
| Get an iterator for all quest factories. | |
| virtual iQuestFactory * | GetQuestFactory (const char *name)=0 |
| Get a quest factory by name. | |
| virtual iRewardType * | GetRewardType (const char *name)=0 |
| Get a reward type from the quest manager. | |
| virtual iSeqOpType * | GetSeqOpType (const char *name)=0 |
| Get a seqop type from the quest manager. | |
| virtual iTriggerType * | GetTriggerType (const char *name)=0 |
| Get a trigger type from the quest manager. | |
| virtual bool | Load (iDocumentNode *node, iLoaderContext *context)=0 |
| Load a bunch of quest factories. | |
| virtual bool | RegisterRewardType (iRewardType *trigger)=0 |
| Register a quest reward type. | |
| virtual bool | RegisterSeqOpType (iSeqOpType *seqop)=0 |
| Register a seqop reward type. | |
| virtual bool | RegisterTriggerType (iTriggerType *trigger)=0 |
| Register a quest trigger type. | |
| virtual void | RemoveQuestFactories ()=0 |
| Delete all quest factories. | |
| virtual void | RemoveQuestFactory (const char *name)=0 |
| Delete a quest factory by name. | |
| virtual bool | Save (iDocumentNode *node, iCollection *collection=0)=0 |
| Save a bunch of quest factories. | |
| virtual iTriggerFactory * | SetEnterSectorTrigger (iQuestTriggerResponseFactory *response, const char *entity_par, const char *sector_par)=0 |
| Convenience method to set an 'entersector' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetInventoryTrigger (iQuestTriggerResponseFactory *response, const char *entity_par, const char *child_par)=0 |
| Convenience method to set an 'inventory' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetMeshEnterSectorTrigger (iQuestTriggerResponseFactory *response, const char *entity_par, const char *sector_par)=0 |
| Convenience method to set a 'meshentersector' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetMeshSelectTrigger (iQuestTriggerResponseFactory *response, const char *entity_par)=0 |
| Convenience method to set an 'meshsel' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetMessageTrigger (iQuestTriggerResponseFactory *response, const char *entity_par, const char *mask_par)=0 |
| Convenience method to set an 'message' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetOperationTrigger (iQuestTriggerResponseFactory *response, const char *operation_par, csRefArray< iTriggerFactory > &trigger_factories)=0 |
| Convenience method to set a 'operation' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetPropertyChangeTrigger (iQuestTriggerResponseFactory *response, const char *entity_par, const char *prop_par, const char *value_par)=0 |
| Convenience method to set a 'propertychange' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetSequenceFinishTrigger (iQuestTriggerResponseFactory *response, const char *entity_par, const char *sequence_par)=0 |
| Convenience method to set a 'sequencefinish' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetTimeoutTrigger (iQuestTriggerResponseFactory *response, const char *timeout_par)=0 |
| Convenience method to set a 'timeout' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetTriggerTrigger (iQuestTriggerResponseFactory *response, const char *entity_par, bool do_leave=false)=0 |
| Convenience method to set a 'trigger' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetWatchTrigger (iQuestTriggerResponseFactory *response, const char *entity_par, const char *target_entity_par, const char *checktime_par, const char *radius_par)=0 |
| Convenience method to set a 'watch' trigger factory to a response factory. | |
Detailed Description
This is the quest manager.
This manager can be used to handle quests. A quest is basically a state machine which can advance from state to state when a trigger activates. It can also hand out 'rewards'.
Definition at line 353 of file questmanager.h.
Member Function Documentation
| virtual iRewardFactory* iQuestManager::AddActionReward | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | entity_par, | |||
| const char * | id_par, | |||
| const char * | pcclass_par | |||
| ) | [pure virtual] |
Convenience method to add an 'action' reward factory to a response factory.
You need to specify exactly which entity and which action
| virtual iRewardFactory* iQuestManager::AddChangeClassReward | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | entity_par, | |||
| const char * | class_par, | |||
| bool | remove | |||
| ) | [pure virtual] |
Convenience method to add a 'changeclass' reward factory to a response factory.
| virtual iChangePropertyRewardFactory* iQuestManager::AddChangePropertyReward | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | entity_par, | |||
| const char * | prop_par | |||
| ) | [pure virtual] |
Convenience method to add a 'changeproperty' reward factory to a response factory.
You need to specify exactly which value should be modified after calling this.
| virtual iRewardFactory* iQuestManager::AddCreateEntityReward | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | template_par, | |||
| const char * | name_par, | |||
| iCelParameterBlock * | tpl_params | |||
| ) | [pure virtual] |
Convenience method to add a 'createentity' reward factory to a response factory.
You need to specify exactly which template to create a copy of, the name of the created entity and any other parameters required by the template.
| virtual iRewardFactory* iQuestManager::AddCsSequenceReward | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | sequence_par, | |||
| const char * | delay_par | |||
| ) | [pure virtual] |
Convenience method to add an 'cssequence' reward factory to a response factory.
| virtual iRewardFactory* iQuestManager::AddDebugPrintReward | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | msg | |||
| ) | [pure virtual] |
Convenience method to add a 'debugprint' reward factory to a response factory.
| virtual iRewardFactory* iQuestManager::AddDestroyEntityReward | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | entity_par | |||
| ) | [pure virtual] |
Convenience method to add a 'destroyentity' reward factory to a response factory.
You need to specify exactly which entity to destroy
| virtual iRewardFactory* iQuestManager::AddInventoryReward | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | entity_par, | |||
| const char * | child_entity_par | |||
| ) | [pure virtual] |
Convenience method to add an 'inventory' reward factory to a response factory.
| virtual iRewardFactory* iQuestManager::AddMessageReward | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | entity_par, | |||
| const char * | id_par | |||
| ) | [pure virtual] |
Convenience method to add a 'message' reward factory to a response factory.
You need to specify the message and which entity to send it to.
| virtual iRewardFactory* iQuestManager::AddNewStateReward | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | entity_par, | |||
| const char * | state_par | |||
| ) | [pure virtual] |
Convenience method to add a 'newstate' reward factory to a response factory.
| virtual iRewardFactory* iQuestManager::AddSequenceFinishReward | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | entity_par, | |||
| const char * | sequence_par | |||
| ) | [pure virtual] |
Convenience method to add an 'sequencefinish' reward factory to a response factory.
| virtual iRewardFactory* iQuestManager::AddSequenceReward | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | entity_par, | |||
| const char * | sequence_par, | |||
| const char * | delay_par | |||
| ) | [pure virtual] |
Convenience method to add an 'sequence' reward factory to a response factory.
| virtual iQuestFactory* iQuestManager::CreateQuestFactory | ( | const char * | name | ) | [pure virtual] |
Create an empty quest factory.
Returns 0 on failure (quest factory with that name already exists).
| virtual csRef<iQuestFactoryIterator> iQuestManager::GetQuestFactories | ( | ) | const [pure virtual] |
Get an iterator for all quest factories.
| virtual iQuestFactory* iQuestManager::GetQuestFactory | ( | const char * | name | ) | [pure virtual] |
Get a quest factory by name.
| virtual iRewardType* iQuestManager::GetRewardType | ( | const char * | name | ) | [pure virtual] |
Get a reward type from the quest manager.
Returns 0 if no such reward type exists.
| virtual iSeqOpType* iQuestManager::GetSeqOpType | ( | const char * | name | ) | [pure virtual] |
Get a seqop type from the quest manager.
Returns 0 if no such seqop type exists.
| virtual iTriggerType* iQuestManager::GetTriggerType | ( | const char * | name | ) | [pure virtual] |
Get a trigger type from the quest manager.
Returns 0 if no such trigger type exists.
| virtual bool iQuestManager::Load | ( | iDocumentNode * | node, | |
| iLoaderContext * | context | |||
| ) | [pure virtual] |
Load a bunch of quest factories.
- Parameters:
-
node is a node containing <quest> children. context is an optional loader context.
- Returns:
- false on error (reporter is used to report).
| virtual bool iQuestManager::RegisterRewardType | ( | iRewardType * | trigger | ) | [pure virtual] |
Register a quest reward type.
Quest rewards can be used by quests to give out some kind of reward to the game. Returns false on failure (reward type with that name already exists).
The following predefined reward types are automatically registered in the quest manager:
- cel.rewards.debugprint: print a debug message on stdout. See iDebugPrintRewardFactory.
- cel.questreward.newstate: switch to a new state. See iNewStateQuestRewardFactory.
- cel.rewards.changeproperty: change a property. See iChangePropertyRewardFactory.
- cel.rewards.inventory: manipulate inventory. See iInventoryRewardFactory.
- cel.rewards.sequence: fire sequence. See iSequenceRewardFactory.
- cel.rewards.sequencefinish: finish sequence. See iSequenceFinishRewardFactory.
- cel.rewards.message: send a message to some entity. See iMessageRewardFactory.
- cel.rewards.action: send an action to some property class on an entity. See iActionRewardFactory.
- cel.rewards.destroyentity: remove an entity from the physical. layer. See iDestroyEntityRewardFactory.
- cel.rewards.createentity: create an entity from a template. See iCreateEntityRewardFactory.
| virtual bool iQuestManager::RegisterSeqOpType | ( | iSeqOpType * | seqop | ) | [pure virtual] |
Register a seqop reward type.
Seqop rewards can be used by quest sequences to define operations in the sequence. Returns false on failure (swqop type with that name already exists).
The following predefined sequence operation types are automatically registered in the quest manager:
- cel.seqops.debugprint: print a debug message on stdout. See iDebugPrintSeqOpFactory.
- cel.seqops.transform: transform a mesh. See iTransformSeqOpFactory.
- cel.seqops.movepath: move a mesh along a path. See iMovePathSeqOpFactory.
- cel.seqops.light: animate a light color. See iLightSeqOpFactory.
- cel.seqops.property: animate a property class property. See iPropertySeqOpFactory.
| virtual bool iQuestManager::RegisterTriggerType | ( | iTriggerType * | trigger | ) | [pure virtual] |
Register a quest trigger type.
Quest triggers can be used by quests to decide when to go to another state or when to activate a reward. Returns false on failure (trigger type with that name already exists).
The following predefined trigger types are automatically registered in the quest manager:
- cel.triggers.entersector: triggers when a camera (from entity) enters a sector. See iEnterSectorTriggerFactory.
- cel.triggers.meshentersector: triggers when a mesh (from entity) enters a sector. See iEnterSectorTriggerFactory.
- cel.triggers.timeout: triggers after a specified time. See iTimeoutTriggerFactory.
- cel.triggers.propertychange: triggers when a property changes. See iPropertyChangeTriggerFactory.
- cel.triggers.sequencefinish: triggers when a sequence finishes. See iSequenceFinishTriggerFactory.
- cel.triggers.trigger: triggers when a pctrigger fires. See iTriggerTriggerFactory.
- cel.triggers.message: triggers when a message is received. See iMessageTriggerFactory.
- cel.triggers.inventory: triggers when an object enters inventory. See iInventoryTriggerFactory.
- cel.triggers.meshselect: triggers when a mesh is selected. See iMeshSelectTriggerFactory.
- cel.triggers.watch: triggers when a mesh becomes visible. See iWatchTriggerFactory.
- cel.triggers.operation: perform a logical operation on several child nodes. See iOperationTriggerFactory.
| virtual void iQuestManager::RemoveQuestFactories | ( | ) | [pure virtual] |
Delete all quest factories.
| virtual void iQuestManager::RemoveQuestFactory | ( | const char * | name | ) | [pure virtual] |
Delete a quest factory by name.
| virtual bool iQuestManager::Save | ( | iDocumentNode * | node, | |
| iCollection * | collection = 0 | |||
| ) | [pure virtual] |
Save a bunch of quest factories.
- Parameters:
-
node is a node which will be filled with <quest> children. collection if given then only the quest factories from this collection will be saved.
- Returns:
- false on error (reporter is used to report).
| virtual iTriggerFactory* iQuestManager::SetEnterSectorTrigger | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | entity_par, | |||
| const char * | sector_par | |||
| ) | [pure virtual] |
Convenience method to set an 'entersector' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetInventoryTrigger | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | entity_par, | |||
| const char * | child_par | |||
| ) | [pure virtual] |
Convenience method to set an 'inventory' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetMeshEnterSectorTrigger | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | entity_par, | |||
| const char * | sector_par | |||
| ) | [pure virtual] |
Convenience method to set a 'meshentersector' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetMeshSelectTrigger | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | entity_par | |||
| ) | [pure virtual] |
Convenience method to set an 'meshsel' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetMessageTrigger | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | entity_par, | |||
| const char * | mask_par | |||
| ) | [pure virtual] |
Convenience method to set an 'message' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetOperationTrigger | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | operation_par, | |||
| csRefArray< iTriggerFactory > & | trigger_factories | |||
| ) | [pure virtual] |
Convenience method to set a 'operation' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetPropertyChangeTrigger | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | entity_par, | |||
| const char * | prop_par, | |||
| const char * | value_par | |||
| ) | [pure virtual] |
Convenience method to set a 'propertychange' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetSequenceFinishTrigger | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | entity_par, | |||
| const char * | sequence_par | |||
| ) | [pure virtual] |
Convenience method to set a 'sequencefinish' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetTimeoutTrigger | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | timeout_par | |||
| ) | [pure virtual] |
Convenience method to set a 'timeout' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetTriggerTrigger | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | entity_par, | |||
| bool | do_leave = false | |||
| ) | [pure virtual] |
Convenience method to set a 'trigger' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetWatchTrigger | ( | iQuestTriggerResponseFactory * | response, | |
| const char * | entity_par, | |||
| const char * | target_entity_par, | |||
| const char * | checktime_par, | |||
| const char * | radius_par | |||
| ) | [pure virtual] |
Convenience method to set a 'watch' trigger factory to a response factory.
The documentation for this struct was generated from the following file:
- tools/questmanager.h
Generated for CEL: Crystal Entity Layer 2.1 by doxygen 1.6.1
