root/trunk/playercontroller.hh

Revision 1, 1.6 kB (checked in by poillubo, 2 years ago)

* initial import

Line 
1 /*
2  *  RoxTSlevel
3  *  playercontroller.hh
4  *  Copyright (C) 2006  RASNEUR Vincent
5  *
6  *  This program is free software; you can redistribute it and/or modify
7  *  it under the terms of the GNU General Public License as published by
8  *  the Free Software Foundation; either version 2 of the License, or
9  *  (at your option) any later version.
10  *
11  *  This program is distributed in the hope that it will be useful,
12  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  *  GNU General Public License for more details.
15  *
16  *  You should have received a copy of the GNU General Public License
17  *  along with this program; if not, write to the Free Software
18  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19  */
20
21 #ifndef PLAYERCONTROLLER_HH
22 #define PLAYERCONTROLLER_HH
23
24 #include <set>
25 #include <cassert>
26
27 #include "controller.hh"
28 #include "player.hh"
29 #include "utils.hh"
30
31 using namespace std;
32
33 class PlayerController: public Controller
34 {
35   // Attributes
36   private:
37     static PlayerController * instance;
38     set<Player *> players;
39     uint8 maxPlayers;
40   // Operations
41   private:
42     PlayerController();
43   public:
44     static PlayerController * getInstance();
45     void setMaxPlayers(uint8 maxplayers);
46     bool waitForPlayers();
47     void addPlayer(Player *p);
48     void removePlayer(Player *p);
49     set<Player *> getPlayers();
50     void update();
51     void notifyController(uint32 victim, uint32 attribute, uint32 value);
52     void notifyController(uint8 event, vector<uint32> values);
53 };
54
55 #endif
Note: See TracBrowser for help on using the browser.