FIFE
2008.0
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
All
Classes
Namespaces
Functions
Variables
Enumerations
Enumerator
Pages
timemanager.h
1
/***************************************************************************
2
* Copyright (C) 2005-2008 by the FIFE team *
3
* http://www.fifengine.de *
4
* This file is part of FIFE. *
5
* *
6
* FIFE is free software; you can redistribute it and/or *
7
* modify it under the terms of the GNU Lesser General Public *
8
* License as published by the Free Software Foundation; either *
9
* version 2.1 of the License, or (at your option) any later version. *
10
* *
11
* This library 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 GNU *
14
* Lesser General Public License for more details. *
15
* *
16
* You should have received a copy of the GNU Lesser General Public *
17
* License along with this library; if not, write to the *
18
* Free Software Foundation, Inc., *
19
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
20
***************************************************************************/
21
22
#ifndef FIFE_TIMEMANAGER_H
23
#define FIFE_TIMEMANAGER_H
24
25
// Standard C++ library includes
26
#include <vector>
27
28
// 3rd party library includes
29
30
// FIFE includes
31
// These includes are split up in two parts, separated by one empty line
32
// First block: files included from the FIFE root src directory
33
// Second block: files included from the same folder
34
#include "util/base/singleton.h"
35
#include "util/base/fife_stdint.h"
36
37
namespace
FIFE {
38
39
class
TimeEvent;
40
50
class
TimeManager
:
public
DynamicSingleton
<TimeManager> {
51
public
:
54
TimeManager
();
55
58
virtual
~TimeManager
();
59
62
void
update
();
63
69
void
registerEvent
(
TimeEvent
* event);
70
76
void
unregisterEvent
(
TimeEvent
* event);
77
82
uint32_t
getTime
()
const
;
83
88
uint32_t
getTimeDelta
()
const
;
89
94
double
getAverageFrameTime
()
const
;
95
98
void
printStatistics
()
const
;
99
100
private
:
102
uint32_t m_current_time;
104
uint32_t m_time_delta;
106
double
m_average_frame_time;
107
109
std::vector<TimeEvent*> m_events_list;
110
};
111
112
}
//FIFE
113
114
#endif
engine
core
util
time
timemanager.h
Generated on Wed Apr 10 2013 23:07:06 for FIFE by
1.8.3