-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathTimer.d
100 lines (90 loc) · 2.07 KB
/
Timer.d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
/***********************************\
TIMER
\***********************************/
//========================================
// [intern] Variablen
//========================================
const int _Timer_Diff = 0;
var int _Timer;
var int _Timer_Paused;
var int _Timer_PiM;
const int _TimerGT_Diff = 0;
var int _TimerGT;
var int _TimerGT_Paused;
//========================================
// [intern] Initialisierung
//========================================
func void _Timer_Init() {
_Timer_Diff = MEM_GetSystemTime() - _Timer;
};
func void _TimerGT_Init() {
_TimerGT_Diff = MEM_GetSystemTime() - _TimerGT;
};
//========================================
// Aktuelle Zeit holen
//========================================
func int Timer() {
if(!MEM_Game.timeStep) {
if(_Timer_PiM) {
_Timer_Paused = 2;
return _Timer;
};
};
if(_Timer_Paused) {
if(_Timer_Paused == 2) {
_Timer_Paused = 0;
_Timer_Init();
}
else {
return _Timer;
};
};
_Timer = MEM_GetSystemTime() - _Timer_Diff;
return _Timer;
};
func int TimerGT() {
if(!MEM_Game.timeStep) {
_TimerGT_Paused = 2;
return _TimerGT;
};
if(_TimerGT_Paused) {
if(_TimerGT_Paused == 2) {
_TimerGT_Paused = 0;
_TimerGT_Init();
}
else {
return _TimerGT;
};
};
_TimerGT = MEM_GetSystemTime() - _TimerGT_Diff;
return _TimerGT;
};
//========================================
// Aktuelle Zeit als float holen
//========================================
func int TimerF() {
return mkf(Timer());
};
//========================================
// Timer pausieren
//========================================
func void Timer_SetPause(var int on) {
if(on) {
_Timer_Paused = 1;
return;
};
_Timer_Paused = 0;
_Timer_Init();
};
//========================================
// In Menüs automatisch pausieren?
//========================================
func void Timer_SetPauseInMenu(var int on) {
_Timer_PiM = on;
};
//========================================
// Abfragen ob der Timer pausiert ist
//========================================
func int Timer_IsPaused() {
return _Timer_Paused > 0;
};