Я нахожусь в процессе создания игры с использованием Phaser. js (версия 3.20.1), и я хочу иметь этот одноэлементный класс под названием TimeTracker, который бы отслеживал время игроков, когда в игре происходят определенные события. Так что любая сцена может вызывать
TimeTracker.AddTime(3)
Но моему TimeTracker также необходим доступ к экрану пользовательского интерфейса для отображения сообщений пользовательского интерфейса. Теперь с другими объектами я инициализировал сцену пользовательского интерфейса в методе создания Game Controller
this.UI = this.scene.get('UI');
, а затем передал ее в конструктор других объектов
this.tableD = new D(this.UI, this.Attributes);
this.tableF = new F(this.UI, this.Attributes);
Но с тех пор TimeTracker такое синглтон, как мне написать следующий псевдокод?
import TimeTracker from '../gameObjects/TimeTracker'(this.UI);
Поскольку пользовательский интерфейс еще не существует.
Кроме того, при вводе этого текста мне интересно, должен ли я go с одноэлементным подходом или просто создайте один экземпляр в create и передайте его также как UIScene
Есть ли лучшая практика программирования при совместном использовании одного экземпляра класса между многими классами (Scenes in Phaser)?