Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/spaceshipcontrol/src/story_entities/story_entity.h @ 6188

Last change on this file since 6188 was 6153, checked in by bensch, 19 years ago

docu

File size: 2.4 KB
Line 
1/*!
2 * @file story_entity.h
3  *  holds the base class of everything that is playable - that is part of the story
4*/
5
6
7#ifndef _STORY_ENTITY_H
8#define _STORY_ENTITY_H
9
10#include "base_object.h"
11#include "story_def.h"
12#include "error.h"
13
14//! A class that represents something to play in orxonox. it is a container for worlds, movies, mission briefings, etc...
15class StoryEntity : public BaseObject {
16
17 public:
18  StoryEntity ();
19  virtual ~StoryEntity ();
20
21  // INIT AND LOAD //
22  /** @brief initializes a Story Entity to default Values */
23  virtual ErrorMessage init() {};
24  /** @brief called before loading */
25  virtual ErrorMessage preLoad() {};
26  /** @brief called to load. */
27  virtual ErrorMessage load() {};
28  /** @brief called right after loading */
29  virtual ErrorMessage postLoad() {};
30  /** @brief called after postload to check for integrity. (optional) */
31  virtual ErrorMessage check() {};
32
33  // RUNNING //
34  /** @brief called shortly before starting the Entity */
35  virtual ErrorMessage preStart() {};
36  /** @brief starts the Entity. Starts the main cycle */
37  virtual ErrorMessage start() = 0;
38  /** @brief pauses the Entity. call to resume required to get it running again */
39  virtual ErrorMessage pause() = 0;
40  /** @brief resumes the Entity after a stop/pause or suspend. */
41  virtual ErrorMessage resume() = 0;
42  /** @brief suspends the Entity detaches all mayor functions  (optional) */
43  virtual ErrorMessage suspend() {};
44  /** @brief rewinds to the beginning/last checkpoint */
45  virtual ErrorMessage rewind() {};
46  /** @brief leaves the Entity. Ends it */
47  virtual ErrorMessage preStop() {};
48  /** @brief Stops the entity. */
49  virtual ErrorMessage stop() = 0;
50
51  // KILLING
52  /** @brief kills the Entity. should also calls prestop stop */
53  virtual ErrorMessage destroy() {};
54
55  void setStoryID(int storyID);
56  int getStoryID();
57
58  void setNextStoryID(int nextStoryID);
59  int getNextStoryID();
60
61  protected:
62    bool isInit;         //!< if the entity is initialized, this has to be true.
63    bool readyToRun;     //!< If the entity is ready to run -> post-check.
64    bool isPaused;       //!< is true if the entity is paused
65    bool isSuspended;    //!< if the Entity is suspended.
66
67 private:
68    int storyID;           //!< this is the number of this entity, identifying it in a list/tree...
69    int nextStoryID;       //!< if this entity has finished, this entity shall be called
70};
71
72#endif /* _STORY_ENTITY_H */
Note: See TracBrowser for help on using the repository browser.