Browse Source

состояние

tags/4.1
parent
commit
186bd312bb
6 changed files with 31 additions and 26 deletions
  1. +4
    -4
      3.2/общее/150.Состояние.js
  2. +18
    -13
      3.2/общее/200.функции.js
  3. +3
    -5
      3.2/проигрыватель/700.Игра.js
  4. +1
    -1
      3.2/проигрыватель/index.html
  5. +4
    -3
      3.2/редактор/700.Муром.js
  6. +1
    -0
      3.2/редактор/index.html

3.2/проигрыватель/100.Состояние.js → 3.2/общее/150.Состояние.js View File

@@ -44,18 +44,18 @@ function Состояние()
}; };


this.разобрать = function(словарь) { this.разобрать = function(словарь) {
/**/console.debug("01");
var значения = this.лишьНовыеЗначения(this.выпрямить(словарь)); var значения = this.лишьНовыеЗначения(this.выпрямить(словарь));
/**/console.debug("02");
for (var ключ in значения) for (var ключ in значения)
{ {
var путь = ключ.split("."); var путь = ключ.split(".");
var значение = значения[ключ]; var значение = значения[ключ];
this.обработчик(ключ, путь, значение);
if (this.обработчик)
{
this.обработчик(ключ, путь, значение);
}
} }
}; };



// Конструктор. // Конструктор.
this.создать(); this.создать();
} }

+ 18
- 13
3.2/общее/200.функции.js View File

@@ -1,5 +1,18 @@
var мир = {}; 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(строка) мир.вZ64 = function(строка)
{ {
var байты = new TextEncoder("utf-8").encode(строка); var байты = new TextEncoder("utf-8").encode(строка);
@@ -14,19 +27,6 @@ var мир = {};
return new TextDecoder("utf-8").decode(байты); 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(события, список) мир.назначитьКнопкамСобытия = function(события, список)
{ {
for (var номер in список) for (var номер in список)
@@ -66,3 +66,8 @@ var мир = {};
} }
return параметры; return параметры;
}; };

мир.разобрать = function(словарь)
{
мир.состояние.разобрать(словарь);
};

+ 3
- 5
3.2/проигрыватель/700.Игра.js View File

@@ -2,11 +2,9 @@ function Игра()
{ {
this.создать = function() this.создать = function()
{ {
this.состояние = new Состояние();
this.состояние.обработчик = this.обработатьКлюч;
var тут = this;
мир.разобрать = function(словарь) { тут.состояние.разобрать(словарь); };
this.события = new События();
мир.события = new События();
мир.состояние = new Состояние();
мир.состояние.обработчик = this.обработатьКлюч;
var z64 = мир.параметрыЗапуска()["z64"]; var z64 = мир.параметрыЗапуска()["z64"];
this.исполнитьКод(z64); this.исполнитьКод(z64);
this.отслеживатьОбновленияКода(); this.отслеживатьОбновленияКода();


+ 1
- 1
3.2/проигрыватель/index.html View File

@@ -14,8 +14,8 @@
<div id="отладка"></div> <div id="отладка"></div>
<script src="../общее/100.События.js"></script> <script src="../общее/100.События.js"></script>
<script src="../общее/150.Состояние.js"></script>
<script src="../общее/200.функции.js"></script> <script src="../общее/200.функции.js"></script>
<script src="100.Состояние.js"></script>
<script src="700.Игра.js"></script> <script src="700.Игра.js"></script>
<script> <script>
var игра = new Игра(); var игра = new Игра();


+ 4
- 3
3.2/редактор/700.Муром.js View File

@@ -2,9 +2,10 @@ function Муром()
{ {
this.создать = function() this.создать = function()
{ {
this.события = new События();
this.редактор = new Редактор(this.события, "редактор");
this.пульт = new Пульт(this.события, "ошибка", "перезапустить", "отдельно", "ссылка");
мир.события = new События();
мир.состояние = new Состояние();
мир.редактор = new Редактор(мир.события, "редактор");
мир.пульт = new Пульт(мир.события, "ошибка", "перезапустить", "отдельно", "ссылка");
}; };


// Конструктор. // Конструктор.


+ 1
- 0
3.2/редактор/index.html View File

@@ -80,6 +80,7 @@
<iframe id="проигрыватель" name="проигрыватель"></iframe> <iframe id="проигрыватель" name="проигрыватель"></iframe>
<script src="../общее/100.События.js"></script> <script src="../общее/100.События.js"></script>
<script src="../общее/150.Состояние.js"></script>
<script src="../общее/200.функции.js"></script> <script src="../общее/200.функции.js"></script>
<script src="100.Редактор.js"></script> <script src="100.Редактор.js"></script>
<script src="200.Пульт.js"></script> <script src="200.Пульт.js"></script>


Loading…
Cancel
Save