aboutsummaryrefslogtreecommitdiff
path: root/views/script/core_stats.js
blob: 124f5fec2b31b9a2928c525b4c56e59bee833232 (plain)
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
const fs = require('fs');
const homedir = require('@electron/remote').getCurrentWindow().homedir;

session = null;
timer = null;
current = null;

webview.addEventListener('dom-ready', () => {
    try {
        if (webview.getURL() !== current) {
            if (session !== null) {
                require('electron').ipcRenderer.send('addstats', { catalog: "times", key: session, add: Math.floor((new Date() - timer)/1000) });

                session = null;
                timer = null;
                current = null;
            }
        }

        if (webview.getURL().endsWith("game.html")) { //        Local
            session = "local";
            timer = new Date();
            current = webview.getURL();
        }
        if (webview.getURL().endsWith("game.html?sp")) { //     Singleplayer
            session = "single";
            timer = new Date();
            current = webview.getURL();
        }
        if (webview.getURL().endsWith("game.html?online")) { // Online
            session = "online";
            timer = new Date();
            current = webview.getURL();
        }
    } catch (e) {}
})

window.addEventListener("beforeunload", function(e){
    try {
        if (session !== null) {
            require('electron').ipcRenderer.send('addstatsandclose', { catalog: "times", key: session, add: Math.floor((new Date() - timer)/1000) });

            session = null;
            timer = null;
            current = null;

            e.preventDefault();
            return false;
        }
    } catch (e) {}
}, false);