mirror of
https://github.com/Melon-Bread/Pet.GB
synced 2024-11-24 20:58:19 -05:00
52 lines
835 B
Haxe
52 lines
835 B
Haxe
package;
|
|
|
|
import flixel.FlxG;
|
|
import flixel.util.FlxTimer;
|
|
|
|
class Clock
|
|
{
|
|
private var _timer:FlxTimer;
|
|
|
|
public var HourPassed:Bool = false;
|
|
public var DayPassed:Bool = false;
|
|
|
|
public function new(RtG:Int = 20) //120
|
|
{
|
|
_timer = new FlxTimer();
|
|
// Every 3 real-time minutes 1 in-game hour passes
|
|
_timer.start(RtG, hourEnd, 5); //24
|
|
|
|
// DEBUG
|
|
FlxG.watch.add(_timer, "progress", "Day Completion:");
|
|
FlxG.watch.add(_timer, "loopsLeft","Hour:");
|
|
}
|
|
|
|
public function update():Void
|
|
{
|
|
if (_timer.finished)
|
|
dayEnd();
|
|
}
|
|
|
|
private function hourEnd(Timer:FlxTimer):Void
|
|
{
|
|
HourPassed = true;
|
|
}
|
|
|
|
private function dayEnd():Void
|
|
{
|
|
_timer.reset();
|
|
DayPassed = true;
|
|
}
|
|
|
|
public function pause(isPaused:Bool = true):Void
|
|
{
|
|
if (isPaused)
|
|
{
|
|
_timer.active = false;
|
|
}
|
|
else
|
|
{
|
|
_timer.active = true;
|
|
}
|
|
}
|
|
} |