diff --git a/3.2/проигрыватель/100.Состояние.js b/3.2/общее/150.Состояние.js similarity index 91% rename from 3.2/проигрыватель/100.Состояние.js rename to 3.2/общее/150.Состояние.js index 332e9e3..5004890 100644 --- a/3.2/проигрыватель/100.Состояние.js +++ b/3.2/общее/150.Состояние.js @@ -44,18 +44,18 @@ function Состояние() }; this.разобрать = function(словарь) { -/**/console.debug("01"); var значения = this.лишьНовыеЗначения(this.выпрямить(словарь)); -/**/console.debug("02"); for (var ключ in значения) { var путь = ключ.split("."); var значение = значения[ключ]; - this.обработчик(ключ, путь, значение); + if (this.обработчик) + { + this.обработчик(ключ, путь, значение); + } } }; - // Конструктор. this.создать(); } diff --git a/3.2/общее/200.функции.js b/3.2/общее/200.функции.js index 629d88d..c3687d6 100644 --- a/3.2/общее/200.функции.js +++ b/3.2/общее/200.функции.js @@ -1,5 +1,18 @@ 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(строка); @@ -14,19 +27,6 @@ var мир = {}; return new TextDecoder("utf-8").decode(байты); }; -мир.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); - } - ); -}; - мир.назначитьКнопкамСобытия = function(события, список) { for (var номер in список) @@ -66,3 +66,8 @@ var мир = {}; } return параметры; }; + +мир.разобрать = function(словарь) +{ + мир.состояние.разобрать(словарь); +}; diff --git a/3.2/проигрыватель/700.Игра.js b/3.2/проигрыватель/700.Игра.js index a3ca49b..f14b964 100644 --- a/3.2/проигрыватель/700.Игра.js +++ b/3.2/проигрыватель/700.Игра.js @@ -2,11 +2,9 @@ function Игра() { this.создать = function() { - this.состояние = new Состояние(); - this.состояние.обработчик = this.обработатьКлюч; - var тут = this; - мир.разобрать = function(словарь) { тут.состояние.разобрать(словарь); }; - this.события = new События(); + мир.события = new События(); + мир.состояние = new Состояние(); + мир.состояние.обработчик = this.обработатьКлюч; var z64 = мир.параметрыЗапуска()["z64"]; this.исполнитьКод(z64); this.отслеживатьОбновленияКода(); diff --git a/3.2/проигрыватель/index.html b/3.2/проигрыватель/index.html index 90d521a..313c639 100644 --- a/3.2/проигрыватель/index.html +++ b/3.2/проигрыватель/index.html @@ -14,8 +14,8 @@
+ - +