public DomainFacade(IStorageProvider storageProvider, string baseUri, ILanguageContainerService languageContainerService) { _storageProvider = storageProvider; LanguageContainerService = languageContainerService; TryRestoreLanguageName(); _grid = new Grid(); _toolManager = new ToolManager(); _historyManager = new HistoryManager(); _hintsProvider = new HintsProvider(); _storageManager = new StorageManager(storageProvider); _shareManager = new ShareManager(baseUri); _pasteManager = new PasteManager(); _solver = new BruteForceSolver(); _gridGenerator = new PredefinedGridGenerator(); _colorManager = new ColorManager(); _gameTimerManager = new GameTimerManager(); _modalStateManager = new(); _modalStateManager.OnModalStateChanged += HandleModalStateChanged; SetModalState(ModalState.Loading); Load(); StartAutoSave(TimeSpan.FromSeconds(2)); }
protected override void Update(GameTime gameTime) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) { Exit(); } // TODO: Add your update logic here GameTimerManager.Update(gameTime); base.Update(gameTime); }
void SubscribeOnTimerManager(GameTimerManager gameTimerManager) { gameTimerManager.GameTime .Subscribe(x => GetComponent <Text>().text = x.ToString()) .AddTo(gameTimerManager.gameObject); }