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.

52 lines
1.7KB

  1. function Сцена(события)
  2. {
  3. this.создать = function()
  4. {
  5. this.умолчание = {
  6. скорость: [1, 1],
  7. };
  8. this.задано = {};
  9. события.подписать(this);
  10. };
  11. this.обработатьКлюч = function(ключ, путь, значение)
  12. {
  13. if (путь[0] != "сцена")
  14. {
  15. return;
  16. }
  17. var свойство = путь.slice(1).join(".");
  18. this.задано[свойство] = значение;
  19. };
  20. this.обработатьНажатиеМышиУказатьИНажать = function(x, y, указатель)
  21. {
  22. var тип = this.задано["тип"];
  23. var игрок = this.задано["игрок"];
  24. var цель = this.задано["цель"];
  25. if (!тип || !игрок || !цель || тип != "указать и нажать")
  26. {
  27. return;
  28. }
  29. /**/console.debug("ИГР Сцена.обработатьНМУИН задать цель и начать движение");
  30. };
  31. this.обработатьСобытие = function(событие)
  32. {
  33. let префикс = "мышь/нажатие/";
  34. if (событие.startsWith(префикс))
  35. {
  36. let значения = событие.substring(префикс.length).split("/");
  37. let x = Number(значения[0]);
  38. let y = Number(значения[1]);
  39. let указатель = значения[2];
  40. this.обработатьНажатиеМышиУказатьИНажать(x, y, указатель);
  41. }
  42. };
  43. // Конструктор.
  44. this.создать();
  45. };