Advanced Strategic Command
taskcontainer.h
Go to the documentation of this file.
1 /*
2  This file is part of Advanced Strategic Command; http://www.asc-hq.org
3  Copyright (C) 1994-2010 Martin Bickel
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program; see the file COPYING. If not, write to the
17  Free Software Foundation, Inc., 59 Temple Place, Suite 330,
18  Boston, MA 02111-1307 USA
19 */
20 
21 #ifndef taskcontainerH
22 #define taskcontainerH
23 
24 #include <list>
25 #include "abstracttaskcontainer.h"
26 #include "../gamemap.h"
27 
28 class tnstream;
29 class Command;
31 
32 class TaskContainer : public AbstractTaskContainer, public sigc::trackable {
33  GameMap* gamemap;
34  static void hook( GameMap& gamemap );
35  static void getCommand( GameMap* gamemap, Command& command );
36 
37  void store( const Command& command );
38 
39  void startTurn( Player& player );
40  void endTurn( Player& player );
41 
42  public:
43  typedef list<Command*> CommandContainer;
45 
46  void remove( Command* cmd );
47 
48  TaskContainer( GameMap* gamemap );
50 
51  void read ( tnstream& stream );
52  void write ( tnstream& stream ) const;
53 
54  static void registerHooks();
55 
56  virtual void foo() {};
57 };
58 
59 #endif
void read(tnstream &stream)
An in-memory storage of streamed data.
Definition: basestrm.h:172
The interface for all kinds of IO stream.
A Command is an action that the player initiates.
Definition: command.h:114
CommandContainer pendingCommands
Definition: taskcontainer.h:44
TaskContainer(GameMap *gamemap)
the different players in ASC. There may be 8 players (0..7) and neutral units (8) ...
Definition: player.h:99
list< Command * > CommandContainer
Definition: taskcontainer.h:43
virtual void foo()
Definition: taskcontainer.h:56
static void registerHooks()
void write(tnstream &stream) const
The map. THE central structure of ASC, which holds everything not globally available together...
Definition: gamemap.h:182