You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.4KB

  1. function Игра()
  2. {
  3. this.создать = function()
  4. {
  5. мир.события = new События();
  6. мир.состояние = new Состояние();
  7. мир.состояние.обработчик = (к, п, з) => { this.обработатьКлюч(к, п, з) };
  8. this.ключники = [
  9. new Заголовок(),
  10. ];
  11. var z64 = мир.параметрыЗапуска()["z64"];
  12. this.исполнитьКод(z64);
  13. this.отслеживатьОбновленияКода();
  14. };
  15. this.исполнитьКод = function(z64)
  16. {
  17. if (z64)
  18. {
  19. var код = мир.изZ64(z64);
  20. eval(код);
  21. }
  22. };
  23. this.обработатьКлюч = function(ключ, путь, значение)
  24. {
  25. for (var номер in this.ключники)
  26. {
  27. var ключник = this.ключники[номер];
  28. ключник.обработатьКлюч(ключ, путь, значение);
  29. }
  30. };
  31. this.отслеживатьОбновленияКода = function()
  32. {
  33. var тут = this;
  34. window.addEventListener("message", function(событие) {
  35. тут.исполнитьКод(событие.data);
  36. });
  37. };
  38. // Конструктор.
  39. this.создать();
  40. }