Orxonox  0.0.5 Codename: Arcturus
ControllerDirector.h
Go to the documentation of this file.
1 /*
2  * ORXONOX - the hottest 3D action shooter ever to exist
3  * > www.orxonox.net <
4  *
5  *
6  * License notice:
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License
10  * as published by the Free Software Foundation; either version 2
11  * of the License, or (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21  *
22  * Author:
23  * Fabian 'x3n' Landau
24  * Co-authors:
25  * ...
26  *
27  */
28 
29 #ifndef _ControllerDirector_H__
30 #define _ControllerDirector_H__
31 
32 #include "OrxonoxPrereqs.h"
33 #include "ArtificialController.h"
34 #include "core/EventIncludes.h"
35 
36 
37 namespace orxonox
38 {
40  {
41  public:
42  ControllerDirector(Context* context);
43  virtual ~ControllerDirector() { }
44 
45  virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
46  bool party(bool bTriggered, BaseObject* trigger);
47  virtual void XMLEventPort(Element& xmlelement, XMLPort::Mode mode) override;
48 
49  inline void setScriptName(const std::string& name) { this->scriptname_ = name; }
50  inline const std::string& getScriptName() const { return this->scriptname_; }
51 
52 
53  /* Take over control of a given object */
54  void takeControl(Controller * controller, BaseObject * trigger);
55  bool preparationToTakeControl(BaseObject * trigger);
56 
57  // currently unused
58  //void setNewController(Controller * controller);
59 
60  protected:
66  };
67 }
68 
69 #endif /* _ControllerDirector_H__ */
The BaseObject is the parent of all classes representing an instance in the game. ...
Definition: BaseObject.h:63
virtual ~ControllerDirector()
Definition: ControllerDirector.h:43
::std::string string
Definition: gtest-port.h:756
PlayerTrigger * pTrigger_
Definition: ControllerDirector.h:64
std::string scriptname_
Definition: ControllerDirector.h:61
PlayerTrigger is an interface if implemented by a specific trigger can be used to recover the Player ...
Definition: PlayerTrigger.h:54
xmlelement
Definition: Super.h:519
ControllableEntity * entity_
Definition: ControllerDirector.h:63
Die Wagnis Klasse hat die folgenden Aufgaben:
Definition: ApplicationPaths.cc:66
Mode
Definition: CorePrereqs.h:102
Shared library macros, enums, constants and forward declarations for the orxonox library ...
Definition: Context.h:45
#define _OrxonoxExport
Definition: OrxonoxPrereqs.h:60
Definition: Controller.h:38
Context * context_
Definition: ControllerDirector.h:65
void setScriptName(const std::string &name)
Definition: ControllerDirector.h:49
Definition: PlayerInfo.h:39
PlayerInfo * player_
Definition: ControllerDirector.h:62
Definition: ControllerDirector.h:39
The ControllableEntity is derived from the orxonox::MobileEntity.
Definition: ControllableEntity.h:48
Definition of the XMLPortEventState() macro, as well as some more useful macros.
const std::string & getScriptName() const
Definition: ControllerDirector.h:50
Definition: ArtificialController.h:38