YAPOG
0.0.1
Yet Another Pokemon Online Game
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
GameScreenManager.hpp
Go to the documentation of this file.
1
#ifndef YAPOG_GAMESCREENMANAGER_HPP
2
# define YAPOG_GAMESCREENMANAGER_HPP
3
4
# include "
YAPOG/Macros.hpp
"
5
# include "
YAPOG/Graphics/Game/IGameScreenManager.hpp
"
6
# include "
YAPOG/Collection/Map.hpp
"
7
8
namespace
yap
9
{
10
class
YAPOG_LIB
GameScreenManager
:
public
IGameScreenManager
11
{
12
DISALLOW_COPY
(
GameScreenManager
);
13
14
public
:
15
16
GameScreenManager
();
17
virtual
~
GameScreenManager
();
18
21
virtual
bool
OnEvent (
const
GuiEvent
& guiEvent);
22
virtual
bool
OnPriorityEvent (
const
GuiEvent
& guiEvent);
24
27
virtual
void
Init (
const
ScreenType
& screenType);
28
29
virtual
void
AddGameScreen (
IGameScreen
* gameScreen);
30
virtual
void
RemoveGameScreen (
const
ScreenType
& screenType);
31
virtual
void
SetCurrentScreen (
const
ScreenType
& screenType);
32
33
virtual
void
NextFrame ();
34
35
virtual
void
Run
(
const
Time
& dt,
IDrawingContext
& context);
36
37
virtual
Event<IGameScreenManager&>
& OnGameExitedEvent ();
39
40
Event<IGameScreenManager&>
OnGameExited
;
41
42
private
:
43
44
static
const
String
GAME_EXITED_EVENT_HANDLER_NAME
;
45
46
ScreenType
currentScreenType_
;
47
48
IGameScreen
*
currentScreen_
;
49
collection::Map<ScreenType, IGameScreen*>
screens_
;
50
};
51
}
// namespace yap
52
53
#endif // YAPOG_GAMESCREENMANAGER_HPP
YAPOG
include
YAPOG
Graphics
Game
GameScreenManager.hpp
Generated on Mon Sep 17 2012 22:24:23 for YAPOG by
1.8.1.1