Orxonox
0.0.5 Codename: Arcturus
|
Handles Quests which have different states for different players. More...
#include </home/jenkins/workspace/orxonox_doxygen_trunk/src/modules/questsystem/LocalQuest.h>
Public Member Functions | |
LocalQuest (Context *context) | |
Constructor. More... | |
virtual | ~LocalQuest () |
Destructor. More... | |
virtual bool | complete (PlayerInfo *player) override |
Completes the Quest. More... | |
virtual bool | fail (PlayerInfo *player) override |
Fails the Quest. More... | |
virtual void | XMLPort (Element &xmlelement, XMLPort::Mode mode) override |
Method for creating a LocalQuest object through XML. More... | |
Public Member Functions inherited from orxonox::Quest | |
Quest (Context *context) | |
Constructor. More... | |
virtual | ~Quest () |
Destructor. More... | |
bool | addListener (QuestListener *listener) |
Adds a QuestListener to the list of QuestListeners listening to this Quest. More... | |
const std::list< QuestHint * > & | getHintsList (void) const |
Returns the list of all QuestHints of this Quest. More... | |
Quest * | getParentQuest (void) const |
Returns the parent-quest of the Quest. More... | |
const std::list< Quest * > & | getSubQuestList (void) const |
Returns the list of sub-quests. More... | |
bool | isActive (const orxonox::PlayerInfo *player) const |
Returns true if the quest status for the specific player is 'active'. More... | |
bool | isCompleted (const orxonox::PlayerInfo *player) const |
Returns true if the quest status for the specific player is 'completed'. More... | |
bool | isFailed (const orxonox::PlayerInfo *player) const |
Returns true if the quest status for the specific player is 'failed'. More... | |
bool | isInactive (const PlayerInfo *player) const |
Returns true if the quest status for the specific player is 'inactive'. More... | |
bool | start (PlayerInfo *player) |
Sets a Quest to active. More... | |
Public Member Functions inherited from orxonox::QuestItem | |
QuestItem (Context *context) | |
Constructor. More... | |
virtual | ~QuestItem () |
Destructor. More... | |
QuestDescription * | getDescription (void) const |
Returns the QuestDescription of the QuestItem. More... | |
const std::string & | getId (void) const |
Returns the id of this QuestItem. More... | |
bool | isRegistered (void) |
Check whether the QuestItem is registered with the QuestManager. More... | |
void | setRegistered (void) |
Set the QuestItem as being registered with the QuestManager. More... | |
Public Member Functions inherited from orxonox::BaseObject | |
BaseObject (Context *context) | |
Constructor: Registers the object in the BaseObject-list. More... | |
virtual | ~BaseObject () |
Destructor. More... | |
void | addEventListener (BaseObject *listener) |
Adds an object which listens to the events of this object. More... | |
void | addEventSource (BaseObject *source, const std::string &state) |
Adds a new event source for a specific state. More... | |
void | addTemplate (const std::string &name) |
Adds a Template to the object. More... | |
void | addTemplate (Template *temp) |
Adds a Template to the object. More... | |
virtual void | changedActivity () |
This function gets called if the activity of the object changes. More... | |
virtual void | changedMainStateName () |
This function gets called if the main state name of the object changes. More... | |
virtual void | changedName () |
This function gets called if the name of the object changes. More... | |
virtual void | changedVisibility () |
This function gets called if the visibility of the object changes. More... | |
void | fireEvent (const std::string &name="") |
Fires an event (without a state). More... | |
void | fireEvent (bool activate, const std::string &name="") |
Fires an event which activates or deactivates a state. More... | |
void | fireEvent (bool activate, BaseObject *originator, const std::string &name="") |
Fires an event which activates or deactivates a state with agiven originator (the object which triggered the event). More... | |
void | fireEvent (Event &event) |
Fires an event, using the Event struct. More... | |
BaseObject * | getCreator () const |
BaseObject * | getEventListener (unsigned int index) const |
Returns an event listener with a given index. More... | |
BaseObject * | getEventSource (unsigned int index, const std::string &state) const |
Returns an eventsource with a given index. More... | |
const XMLFile * | getFile () const |
Returns a pointer to the XMLFile that loaded this object. More... | |
const std::string & | getFilename () const |
Returns the levelfile that loaded this object. More... | |
Gametype * | getGametype () const |
Level * | getLevel () const |
const std::string & | getLoaderIndentation () const |
Returns the indentation of the debug output in the Loader. More... | |
const std::string & | getMainStateName () const |
Returns the name of the main state. More... | |
const std::string & | getName () const |
Returns the name of the object. More... | |
Namespace * | getNamespace () const |
const std::string & | getOldName () const |
Returns the old name of the object. More... | |
Scene * | getScene () const |
virtual uint32_t | getSceneID () const |
const std::set< Template * > & | getTemplates () const |
Returns the set of all aplied templates. More... | |
const mbool & | isActive () const |
Returns the state of the objects activity. More... | |
bool | isInitialized () const |
Returns if the object was initialized (passed the object registration). More... | |
const mbool & | isVisible () const |
Returns the state of the objects visibility. More... | |
virtual void | processEvent (Event &event) |
Processing an event by calling the right main state. More... | |
void | removeEventSource (BaseObject *source) |
Removes an eventsource (but doesn't unregister itself at the source). More... | |
void | setActive (bool bActive) |
Sets the state of the objects activity. More... | |
void | setCreator (BaseObject *creator) |
void | setFile (const XMLFile *file) |
Sets a pointer to the xml file that loaded this object. More... | |
void | setGametype (const StrongOrWeakPtr< Gametype > &gametype) |
void | setLevel (const StrongOrWeakPtr< Level > &level) |
void | setLoaderIndentation (const std::string &indentation) |
Sets the indentation of the debug output in the Loader. More... | |
void | setMainState (bool state) |
Sets the main state of the object to a given boolean value. More... | |
void | setMainStateName (const std::string &name) |
Sets the name of the main state (used for event reactions). More... | |
void | setName (const std::string &name) |
Sets the name of the object. More... | |
void | setNamespace (const StrongOrWeakPtr< Namespace > &ns) |
void | setScene (const StrongOrWeakPtr< Scene > &scene, uint32_t sceneID) |
void | setVisible (bool bVisible) |
Sets the state of the objects visibility. More... | |
virtual void | XMLEventPort (Element &xmlelement, XMLPort::Mode mode) |
Defines the possible event states of this object and parses eventsources from an XML file. More... | |
Public Member Functions inherited from orxonox::OrxonoxClass | |
OrxonoxClass () | |
OrxonoxClass & | operator= (const OrxonoxClass &)=default |
Public Member Functions inherited from orxonox::Configurable | |
Configurable () | |
void | setConfigValues () |
Function to collect the SetConfigValue-macro calls. More... | |
Public Member Functions inherited from orxonox::Listable | |
Listable () | |
Constructor: Allocates space in the element list. More... | |
Listable (Context *context) | |
Constructor: Allocates space in the element list and assigns the context. More... | |
virtual | ~Listable () |
Destructor: Removes the object from the object-lists. More... | |
Context * | getContext () const |
void | setContext (Context *context) |
Changes the context. More... | |
void | unregisterObject () |
Removes this object from the object-lists. More... | |
Public Member Functions inherited from orxonox::Identifiable | |
Identifiable () | |
Constructor: Sets the default values. More... | |
virtual | ~Identifiable () |
ORX_FORCEINLINE void * | getDerivedPointer (unsigned int classID) |
Returns a valid pointer of any derived type that is registered in the class hierarchy. More... | |
template<class T > | |
ORX_FORCEINLINE T * | getDerivedPointer (unsigned int classID) |
Version of getDerivedPointer with template. More... | |
template<class T > | |
ORX_FORCEINLINE const T * | getDerivedPointer (unsigned int classID) const |
Const version of getDerivedPointer with template. More... | |
Identifier * | getIdentifier () const |
Returns the Identifier of the object. More... | |
bool | isA (const Identifier *identifier) |
Returns true if the object's class is of the given type or a derivative. More... | |
template<class B > | |
bool | isA (const SubclassIdentifier< B > *identifier) |
Returns true if the object's class is of the given type or a derivative. More... | |
bool | isA (const Identifiable *object) |
Returns true if the object's class is of the given type or a derivative. More... | |
bool | isChildOf (const Identifier *identifier) |
Returns true if the object's class is a child of the given type. More... | |
template<class B > | |
bool | isChildOf (const SubclassIdentifier< B > *identifier) |
Returns true if the object's class is a child of the given type. More... | |
bool | isChildOf (const Identifiable *object) |
Returns true if the object's class is a child of the given type. More... | |
bool | isDirectChildOf (const Identifier *identifier) |
Returns true if the object's class is a direct child of the given type. More... | |
template<class B > | |
bool | isDirectChildOf (const SubclassIdentifier< B > *identifier) |
Returns true if the object's class is a direct child of the given type. More... | |
bool | isDirectChildOf (const Identifiable *object) |
Returns true if the object's class is a direct child of the given type. More... | |
bool | isDirectParentOf (const Identifier *identifier) |
Returns true if the object's class is a direct parent of the given type. More... | |
template<class B > | |
bool | isDirectParentOf (const SubclassIdentifier< B > *identifier) |
Returns true if the object's class is a direct parent of the given type. More... | |
bool | isDirectParentOf (const Identifiable *object) |
Returns true if the object's class is a direct child of the given type. More... | |
bool | isExactlyA (const Identifier *identifier) |
Returns true if the object's class is exactly of the given type. More... | |
template<class B > | |
bool | isExactlyA (const SubclassIdentifier< B > *identifier) |
Returns true if the object's class is exactly of the given type. More... | |
bool | isExactlyA (const Identifiable *object) |
Returns true if the object's class is exactly of the given type. More... | |
bool | isParentOf (const Identifier *identifier) |
Returns true if the object's class is a parent of the given type. More... | |
template<class B > | |
bool | isParentOf (const SubclassIdentifier< B > *identifier) |
Returns true if the object's class is a parent of the given type. More... | |
bool | isParentOf (const Identifiable *object) |
Returns true if the object's class is a parent of the given type. More... | |
Public Member Functions inherited from orxonox::Destroyable | |
Destroyable () | |
Constructor: Sets the default values. More... | |
virtual | ~Destroyable () |
Destructor: Notifies all DestructionListener (for example weak pointers) that this object is being deleted. More... | |
void | destroy () |
Deletes the object if no strong pointers point to this object. More... | |
void | destroyLater () |
Works like destroy() but doesn't destroy the object until the current tick has ended. More... | |
unsigned int | getReferenceCount () const |
Returns the number of strong pointers that point to this object. More... | |
Protected Member Functions | |
virtual QuestStatus | getStatus (const PlayerInfo *player) const override |
Returns the status of the Quest for a specific player. More... | |
virtual bool | isCompletable (const PlayerInfo *player) const override |
Checks whether the Quest can be completed. More... | |
virtual bool | isFailable (const PlayerInfo *player) const override |
Checks whether the Quest can be failed. More... | |
virtual bool | isStartable (const PlayerInfo *player) const override |
Checks whether the Quest can be started. More... | |
virtual bool | setStatus (PlayerInfo *player, const QuestStatus &status) override |
Sets the status for a specific player. More... | |
Protected Member Functions inherited from orxonox::Quest | |
const QuestEffect * | getCompleteEffect (unsigned int index) const |
Returns the complete QuestEffect at the given index. More... | |
std::list< QuestEffect * > & | getCompleteEffectList (void) |
Returns the list of complete QuestEffects. More... | |
const QuestEffect * | getFailEffect (unsigned int index) const |
Returns the fail QuestEffect at the given index. More... | |
std::list< QuestEffect * > & | getFailEffectList (void) |
Returns the list of fail QuestEffects. More... | |
const QuestHint * | getHint (unsigned int index) const |
Returns the QuestHint at the given index. More... | |
const Quest * | getSubQuest (unsigned int index) const |
Returns the sub-quest at the given index. More... | |
Protected Member Functions inherited from orxonox::QuestItem | |
void | setDescription (QuestDescription *description) |
Sets the description of the QuestItem. More... | |
void | setId (const std::string &id) |
Sets the id of the QuestItem. More... | |
Protected Member Functions inherited from orxonox::BaseObject | |
void | addEventState (const std::string &name, EventState *container) |
Adds a new event-state to the object. More... | |
EventState * | getEventState (const std::string &name) const |
Returns the event-state with the given name. More... | |
Protected Member Functions inherited from orxonox::Destroyable | |
virtual void | preDestroy () |
This virtual function is called if destroy() is called and no StrongPtr points to this object. More... | |
Private Attributes | |
std::map< const PlayerInfo *, QuestStatus > | playerStatus_ |
List of the status for each player, with the Player-pointer as key. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from orxonox::BaseObject | |
static void | loadAllEventStates (Element &xmlelement, XMLPort::Mode mode, BaseObject *object, Identifier *identifier) |
Manually loads all event states, even if the class doesn't officially support them. More... | |
Protected Attributes inherited from orxonox::BaseObject | |
mbool | bActive_ |
True = the object is active. More... | |
mbool | bVisible_ |
True = the object is visible. More... | |
FunctorPtr | mainStateFunctor_ |
std::string | mainStateName_ |
std::string | name_ |
The name of the object. More... | |
std::set< std::string > | networkTemplateNames_ |
std::string | oldName_ |
The old name of the object. More... | |
Handles Quests which have different states for different players.
LocalQuests have (as opposed to GlobalQuests) a different state for each player, that means if for one player the status of the Quest changes it does not for all the other players which also possess this quest.
Creating a LocalQuest through XML goes as follows:
orxonox::LocalQuest::LocalQuest | ( | Context * | context | ) |
Constructor.
Registers and initializes the object.
|
virtual |
Destructor.
|
overridevirtual |
Completes the Quest.
Completes the Quest for a given player.
Invokes all the complete QuestEffects on the player.
player | The player. |
Reimplemented from orxonox::Quest.
|
overridevirtual |
Fails the Quest.
Fails the Quest for a given player.
Invokes all the failEffects on the player.
player | The player. |
Reimplemented from orxonox::Quest.
|
overrideprotectedvirtual |
Returns the status of the Quest for a specific player.
player | The player. |
Implements orxonox::Quest.
|
overrideprotectedvirtual |
Checks whether the Quest can be completed.
player | The player for whom is to be checked. |
Implements orxonox::Quest.
|
overrideprotectedvirtual |
Checks whether the Quest can be failed.
player | The player for whom is to be checked. |
Implements orxonox::Quest.
|
overrideprotectedvirtual |
Checks whether the Quest can be started.
player | The player for whom is to be checked. |
Implements orxonox::Quest.
|
overrideprotectedvirtual |
Sets the status for a specific player.
But be careful wit this one, the status will just be set without checking for its validity. You have to know what you're doing. Really!
player | The player the status should be set for. |
status | The status to be set. |
Implements orxonox::Quest.
|
overridevirtual |
Method for creating a LocalQuest object through XML.
Reimplemented from orxonox::Quest.
|
private |
List of the status for each player, with the Player-pointer as key.