Kukatz 3D  0.1
Török Attila szakdolgozata
projects/Kukatz 3D/include/newgamemenu.hpp
00001 /*
00002  * newgamemenu.hpp - Kukatz 3D
00003  * Copyright (c) 2011 - TÖRÖK Attila (torokati44@gmail.com)
00004  *
00005  * This software is provided 'as-is', without any express or implied
00006  * warranty. In no event will the authors be held liable for any damages
00007  * arising from the use of this software.
00008  *
00009  * Permission is granted to anyone to use this software for any purpose,
00010  * including commercial applications, and to alter it and redistribute it
00011  * freely, subject to the following restrictions:
00012  *
00013  *   1. The origin of this software must not be misrepresented; you must not
00014  *      claim that you wrote the original software. If you use this software
00015  *      in a product, an acknowledgment in the product documentation would be
00016  *      appreciated but is not required.
00017  *
00018  *   2. Altered source versions must be plainly marked as such, and must not be
00019  *      misrepresented as being the original software.
00020  *
00021  *   3. This notice may not be removed or altered from any source
00022  *      distribution.
00023  */
00024 
00025 #ifndef NEWGAMEMENU_HPP_INCLUDED
00026 #define NEWGAMEMENU_HPP_INCLUDED
00027 
00028 #include "statebase.hpp"
00029 #include "viewport.hpp"
00030 #include "guielementcontainer.hpp"
00031 #include "selector.hpp"
00032 #include "profile.hpp"
00033 
00034 class NewGameMenu: public StateBase
00035 {
00036 private:
00037         unsigned int selected;
00038         unsigned int prev_selected;
00039         
00040         Selector* edible_selector;
00041         Selector* supplies_selector;
00042         GUIString* start_label;
00043         
00044         Viewport viewport;
00045         GUIElementContainer gui;
00046         
00047         GUIImage* up_arrow;
00048         GUIImage* down_arrow;
00049         
00050         GUIElementContainer* left_list;
00051         GUIElementContainer* right_list;
00052         
00053         unsigned int left_start;
00054         
00055         std::vector< Profile* > available;
00056         std::vector< Profile* > added;
00057         
00058         bool right_side;
00059         bool prev_right_side;
00060         
00061         void set_color();
00062         void set_arrays();
00063         void set_selected(bool);
00064         
00065 public:
00066         NewGameMenu(unsigned int, unsigned int);
00067         
00068         virtual void process_events(std::vector< sf::Event >&);
00069         virtual void update(float);
00070         virtual void resize(const sf::Vector2i&);
00071         virtual void render();
00072         
00073         virtual ~NewGameMenu();
00074 };
00075 
00076 #endif // NEWGAMEMENU_INCLUDED
 Összes Osztályok