-
Notifications
You must be signed in to change notification settings - Fork 0
/
Timer.cs
68 lines (62 loc) · 1.83 KB
/
Timer.cs
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Xna.Framework;
using System.Timers;
using Mario.HeadUpDesign;
using Game1;
namespace Mario
{
static class Timer
{
public static int Time { get; set; } = TimerUtil.MaxTimer;
private static int counter = TimerUtil.Zero;
private static bool timeRunning = false;
private static readonly int maxTime = TimerUtil.MaxTimer;
public static void ResetTimer()
{
Time = maxTime;
timeRunning = false;
}
public static void StartTimer()
{
timeRunning = true;
}
public static void StopTimer()
{
timeRunning = false;
}
public static void SetTimeRunning(bool flag)
{
if (flag)
timeRunning = true;
else
timeRunning = false;
}
public static void TimerCheckingTime(GameTime gameTime)
{
if (timeRunning)
{
counter += gameTime.ElapsedGameTime.Milliseconds;
if (counter >= TimerUtil.DecreaseRate)
{
Time--;
counter = TimerUtil.Zero;
}
if (Time == TimerUtil.Zero && (!GameObjectManager.Instance.Mario.IsAtEnd()))
{
ResetTimer();
GameObjectManager.Instance.Mario.TakeDamage();
}
}
}
public static void ExtendTime(int multiplyTime)
{
Time += TimerUtil.ExtentTime * multiplyTime;
if (Time > TimerUtil.MaxTimer)
Time = TimerUtil.MaxTimer;
}
}
}