Desterrando el parámetro covered de update y draw
[angry-tux:angry-tux.git] / include / mainMenuState.h
1 /**
2  * @file mainMenuState.h
3  * 
4  * @author José Tomás Tocino García
5  * @date 2010
6  *
7  * Copyright (C) 2010 José Tomás Tocino García <theom3ga@gmail.com>
8  * 
9  * This program is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU General Public License
11  * as published by the Free Software Foundation; either version 2
12  * of the License, or (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22  * 02110-1301, USA.
23  */
24
25 #ifndef _MAINMENUSTATE_H_
26 #define _MAINMENUSTATE_H_
27
28 #include "state.h"
29 #include "popupState.h"
30 #include "log.h"
31
32 #include <string>
33 #include <Gosu/Gosu.hpp>
34 #include <boost/shared_ptr.hpp>
35
36
37 class MainMenuState : public State{
38 public:
39     MainMenuState(){
40         lDEBUG << Log::CON("MainMenuState");
41     }
42     ~MainMenuState(){
43         lDEBUG << Log::DES("MainMenuState");
44     }
45
46
47     void loadResources(){
48         if(stateManager_ != 0){
49             font.reset(new Gosu::Font(stateManager_ -> graphics(), 
50                                       Gosu::defaultFontName(), 40, 0));
51         }
52     }
53
54     void draw(){
55         if(covered){
56             font -> draw(L"I'm covered now", 10, 10, 0);
57         }else{
58             font -> draw(L"I'm not covered", 10, 10, 0);
59         }
60         font -> draw(L"Escape = Show popup", 10, 40, 3);
61         font -> draw(L"Q = Quit", 10, 70, 3);
62
63     }
64
65     void buttonDown(Gosu::Button B){
66         if(B == Gosu::kbEscape){
67             stateManager_ -> pushState(boost::make_shared<PopupState>());
68         }else if(B == Gosu::kbQ){
69             stateManager_ -> close();
70         }
71     }
72
73 private:
74     boost::shared_ptr<Gosu::Font> font;
75 };
76
77 #endif /* _MAINMENUSTATE_H_ */