1 /**
2  * @file controller_moneys.h
3  * @brief Moneys controller
4  * @date 2007-04-13
5  * @copyright 1991-2014 TLK Games
6  * @author Bruno Ethvignot
7  * @version $Revision: 24 $
8  */
9 /*
10  * copyright (c) 1991-2014 TLK Games all rights reserved
11  * $Id: controller_moneys.h 24 2014-09-28 15:30:04Z bruno.ethvignot@gmail.com $
12  *
13  * TecnoballZ is free software; you can redistribute it and/or modify
14  * it under the terms of the GNU General Public License as published by
15  * the Free Software Foundation; either version 3 of the License, or
16  * (at your option) any later version.
17  *
18  * TecnoballZ is distributed in the hope that it will be useful, but
19  * WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with this program; if not, write to the Free Software
25  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
26  * MA  02110-1301, USA.
27  */
28 #ifndef __CONTROLLER_MONEYS__
29 #define __CONTROLLER_MONEYS__
30 
31 class controller_moneys;
32 
33 #include "../include/list_sprites.h"
34 #include "../include/objects_list.h"
35 #include "../include/handler_display.h"
36 #include "../include/right_panel_score.h"
37 #include "../include/sprite_money.h"
38 #include "../include/right_panel_score.h"
39 #include "../include/supervisor_bricks_level.h"
40 #include "../include/controller_indicators.h"
41 #include "../include/sprite_ball.h"
42 
43 class controller_moneys:public objects_list < sprite_money, controller_moneys >
44 {
45 private:
46   /** time delay before sending a new money capsule */
47   Uint32 send_delay;
48   /** delay counter before sending a new money capsule */
49   Uint32 delay_count;
50   right_panel_score *ptbarreScr;
51   controller_indicators *ptPrntmney;
52 
53 public:
54     controller_moneys ();
55    ~controller_moneys ();
56   void initialize (Uint32 delay, right_panel_score * score, controller_indicators * money);
57   void initialize (Uint32 delay, controller_indicators * money);
58   void send_money_from_brick (brick_redraw * briPT);
59   void send_money (sprite_ball * ball);
60   void send_money (sprite_projectile * blast);
61   void send_money_from_guardian (sprite_ball * ball);
62   void move ();
63   void move_bottom ();
64 };
65 #endif
66