1 /***************************************************************************
2   alienBlaster
3   Copyright (C) 2004
4   Paul Grathwohl, Arne Hormann, Daniel Kuehn, Soenke Schwardt
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, or (at your option)
9   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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 ***************************************************************************/
20 #ifndef SMOKE_PUFFS_H
21 #define SMOKE_PUFFS_H
22 
23 #include "SDL.h"
24 #include "geometry.h"
25 #include <vector>
26 
27 class SmokePuff;
28 
29 class SmokePuffs {
30   std::vector<SmokePuff *> smokePuffs;
31 
32   public:
33   SmokePuffs();
34   ~SmokePuffs();
35 
36   void addSmokePuff( SmokePuff *smokePuff );
37   void addSmokePuff( Vector2D pos, Vector2D vel, SmokePuffTypes whichType );
38   void expireSmokePuffs();
39   void update( int dT );
40   void draw(SDL_Surface *screen);
getNrSmokePuffs()41   unsigned int getNrSmokePuffs() { return smokePuffs.size(); }
42 };
43 
44 
45 #endif
46