Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/usability/src/orxonox/interfaces/PlayerTrigger.h @ 8974

Last change on this file since 8974 was 7601, checked in by dafrick, 14 years ago

Adding all classes in modules/objects to Objects module (in doxygen).
Created TriggerBase which is the base class of Trigger and MultiTrigger and now provides the shared functionality and data.
Updated some of the documentation in MultiTrigger and Script.

  • Property svn:eol-style set to native
File size: 3.0 KB
Line 
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 *      Damian 'Mozork' Frick
24 *   Co-authors:
25 *      ...
26 *
27 */
28
29/**
30    @file PlayerTrigger.h
31    @brief Definition of the PlayerTrigger class.
32    @ingroup Triggers
33*/
34
35#ifndef _PlayerTrigger_H__
36#define _PlayerTrigger_H__
37
38#include "OrxonoxPrereqs.h"
39
40#include "core/OrxonoxClass.h"
41
42namespace orxonox
43{
44    /**
45    @brief
46        PlayerTrigger is an interface if implemented by a specific trigger can be used to recover the Player (or more precisely the @ref orxonox::Pawn "Pawn") that triggered it.
47
48    @author
49        Damian 'Mozork' Frick
50
51    @ingroup Triggers
52    */
53    class _OrxonoxExport PlayerTrigger : virtual public OrxonoxClass
54    {
55    public:
56        PlayerTrigger();
57        virtual ~PlayerTrigger() {}
58
59        /**
60        @brief Returns the player that triggered the PlayerTrigger.
61        @return Returns a pointer to the Pawn that triggered the PlayerTrigger.
62        */
63        inline Pawn* getTriggeringPlayer(void) const
64            { return this->player_; }
65
66        /**
67        @brief Checks whether the PlayerTrigger normally returns a Pawn.
68        @return Returns true if the PlayerTrigger normally returns a Pawn.
69        */
70        inline bool isForPlayer(void) const
71           { return this->isForPlayer_; }
72
73    protected:
74        /**
75        @brief Set the player that triggered the PlayerTrigger. This is normally done by classes inheriting vom PlayerTrigger.
76        @param player A pointer to the Pawn that triggered the PlayerTrigger.
77        */
78        inline void setTriggeringPlayer(Pawn* player)
79           { this->player_ = player; }
80
81        /**
82        @brief Set whether the PlayerTrigger normally is triggered by Pawns.
83        @param isForPlayer Should be true when the PlayerTrigger should be set to normally be triggered by Pawns, false if not.
84        */
85        inline void setForPlayer(bool isForPlayer)
86           { this->isForPlayer_ = isForPlayer; }
87
88    private:
89        Pawn* player_; //!< The player that triggered the PlayerTrigger.
90        bool isForPlayer_; //!< Is true when the PlayerTrigger should be set to normally be triggered by Pawns.
91
92    };
93
94}
95
96#endif /* _PlayerTrigger_H__ */
Note: See TracBrowser for help on using the repository browser.