Add new level transition state machine
This commit is contained in:
@@ -9,9 +9,20 @@
|
||||
/* Initialize client_id in localStorage and store the analytics
|
||||
* API URL + key. Called once at startup. */
|
||||
EM_JS(void, js_analytics_init, (), {
|
||||
/* Generate or retrieve a persistent client UUID */
|
||||
/* Generate or retrieve a persistent client UUID.
|
||||
* crypto.randomUUID() requires a secure context (HTTPS) and is
|
||||
* absent in older browsers, so fall back to a manual v4 UUID. */
|
||||
if (!localStorage.getItem('jnr_client_id')) {
|
||||
localStorage.setItem('jnr_client_id', crypto.randomUUID());
|
||||
var uuid;
|
||||
if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') {
|
||||
uuid = crypto.randomUUID();
|
||||
} else {
|
||||
uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
|
||||
var r = Math.random() * 16 | 0;
|
||||
return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
|
||||
});
|
||||
}
|
||||
localStorage.setItem('jnr_client_id', uuid);
|
||||
}
|
||||
/* Store config on the Module for later use by other EM_JS calls.
|
||||
* ANALYTICS_URL and ANALYTICS_KEY are replaced at build time via
|
||||
|
||||
Reference in New Issue
Block a user