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.

33 lines
896B

  1. function Состояния(состояние)
  2. {
  3. this.создать = function()
  4. {
  5. this.задано = {};
  6. };
  7. this.применить = function(имя)
  8. {
  9. /**/console.debug("ИГР Состояния.применить", имя);
  10. состояние.разобратьВыпрямленный(this.задано[имя]);
  11. }
  12. this.обработатьКлюч = function(ключ, путь, значение)
  13. {
  14. if (путь[0] != "состояния")
  15. {
  16. return;
  17. }
  18. let имя = путь[1];
  19. let свойство = путь.slice(2).join(".");
  20. if (!this.задано[имя])
  21. {
  22. this.задано[имя] = {};
  23. }
  24. this.задано[имя][свойство] = значение;
  25. };
  26. // Конструктор.
  27. this.создать();
  28. };