Показать сообщение отдельно
  #9 (permalink)  
Старый 12.01.2019, 14:37
Аватар для VооDоо
Интересующийся
Отправить личное сообщение для VооDоо Посмотреть профиль Найти все сообщения от VооDоо
 
Регистрация: 09.01.2019
Сообщений: 14

RX200,
скорее всего в этом и заключается большая часть проблем. Но как реализовать менеджер-посредник?

Есть идея создать центральный объект, который будет выполнять функцию посредника и установить ему геттеры и сеттеры. Тогда, при изменении какого-либо поля, можно запускать произвольную функцию и дальше от этого отталкиваться. Небольшой пример:

var game = {
  score: 0
};

game.state = {
  get score() {
  return game.score;
},

set score(val) {
  console.log('setter');
  game.score = val;
}
};


На строке 11 вызывается console.log() при изменении поля game.score. Вот это и можно попробовать использовать. Функции (или даже целые блоки-модули) будут взаимодействовать через один объект, что должно помочь.

Еще идея - для управления состояниями реализовать конечный автомат. Все же это будет лучше, чем хранить состояния где-то в виде флагов и потом if-ами проверять.

Посмотрим, что получится...

Последний раз редактировалось VооDоо, 12.01.2019 в 14:40.
Ответить с цитированием