начать 4.1 и накатить наработки сцены,мыши
This commit is contained in:
91
4.1/общее/200.функции.js
Normal file
91
4.1/общее/200.функции.js
Normal file
@@ -0,0 +1,91 @@
|
||||
var мир = {};
|
||||
|
||||
мир.uuid = function()
|
||||
{
|
||||
// https://stackoverflow.com/a/2117523
|
||||
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(
|
||||
/[xy]/g,
|
||||
function(c)
|
||||
{
|
||||
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
|
||||
return v.toString(16);
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
мир.вZ64 = function(строка)
|
||||
{
|
||||
var байты = new TextEncoder("utf-8").encode(строка);
|
||||
var архив = pako.deflate(байты, { to: 'string' });
|
||||
return base64js.fromByteArray(архив);
|
||||
};
|
||||
|
||||
мир.изZ64 = function(строка)
|
||||
{
|
||||
var архив = base64js.toByteArray(строка);
|
||||
var байты = pako.inflate(архив);
|
||||
return new TextDecoder("utf-8").decode(байты);
|
||||
};
|
||||
|
||||
мир.задатьПолныйКлюч = function(словарь, полныйКлюч, значение) {
|
||||
var путь = полныйКлюч.split(".");
|
||||
var пройти = путь.length - 1;
|
||||
var вложенность = словарь;
|
||||
for (var номер = 0; номер < пройти; ++номер)
|
||||
{
|
||||
var ключ = путь[номер];
|
||||
if (!(ключ in вложенность))
|
||||
{
|
||||
вложенность[ключ] = {};
|
||||
вложенность = вложенность[ключ];
|
||||
}
|
||||
}
|
||||
// Значение в конце вложенности.
|
||||
var ключ = путь[пройти];
|
||||
вложенность[ключ] = значение;
|
||||
};
|
||||
|
||||
мир.назначитьКнопкамСобытия = function(события, список)
|
||||
{
|
||||
for (var номер in список)
|
||||
{
|
||||
const пара = список[номер];
|
||||
var кнопка = document.getElementById(пара[0]);
|
||||
кнопка.addEventListener("click", function(_) {
|
||||
события.уведомить(пара[1]);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
мир.параметрыЗапуска = function()
|
||||
{
|
||||
var параметры = {};
|
||||
var запрос = window.location.search.substring(1);
|
||||
var аргументы = запрос.split("&");
|
||||
for (var номер in аргументы)
|
||||
{
|
||||
var арг = аргументы[номер];
|
||||
var позицияЗнака = арг.indexOf("=");
|
||||
// Лишь ключ.
|
||||
if (позицияЗнака == -1)
|
||||
{
|
||||
var ключ = decodeURIComponent(арг);
|
||||
параметры[ключ] = null;
|
||||
}
|
||||
// Ключ со значением.
|
||||
else
|
||||
{
|
||||
var сыройКлюч = арг.slice(0, позицияЗнака);
|
||||
var сыроеЗначение = арг.slice(позицияЗнака + 1);
|
||||
var ключ = decodeURIComponent(сыройКлюч);
|
||||
var значение = decodeURIComponent(сыроеЗначение);
|
||||
параметры[ключ] = значение;
|
||||
}
|
||||
}
|
||||
return параметры;
|
||||
};
|
||||
|
||||
мир.разобрать = function(словарь)
|
||||
{
|
||||
мир.состояние.разобрать(словарь);
|
||||
};
|
||||
Reference in New Issue
Block a user