| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- let paused = false;
- let pausedAt = 0;
- let totalPausedTime = 0;
- export function isCharacterIdle(time_before_idle_sec:string, lastAwake: number): boolean {
- let sinceLastAwakeSec = ((new Date()).getTime() - lastAwake - totalPausedTime) / 1000;
- let timeBeforeIdleSec = parseInt(time_before_idle_sec);
- return sinceLastAwakeSec >= timeBeforeIdleSec;
- }
- export function characterIdleTime(time_before_idle_sec:string, lastAwake: number): number {
- let sinceLastAwakeSec = ((new Date()).getTime() - lastAwake - totalPausedTime) / 1000;
- let timeBeforeIdleSec = parseInt(time_before_idle_sec);
- return sinceLastAwakeSec - timeBeforeIdleSec;
- }
- export function pauseIdleTimer(): void {
- if (!paused) {
- paused = true;
- pausedAt = (new Date()).getTime();
- }
- }
- export function resumeIdleTimer(): void {
- if (paused) {
- paused = false;
- totalPausedTime += (new Date()).getTime() - pausedAt;
- }
- }
- export function resetIdleTimer(): void {
- paused = false;
- pausedAt = 0;
- totalPausedTime = 0;
- }
- const idleUtils = {
- isCharacterIdle,
- characterIdleTime,
- pauseIdleTimer,
- resumeIdleTimer,
- resetIdleTimer,
- };
- export default idleUtils;
|