Example #1
0
 private void Init()
 {
     _pageManager        = new PageManager(_startPage, _gamePage, _settingsPage);
     _dataManager        = new DataManager();
     _sessionDataManager = new SessionDataManager();
     _pageManager.SetPageState(PageState.StartPage);
     _soundManager.Init(_dataManager);
     _startPage.Init(() => _pageManager.SetPageState(PageState.GamePage),
                     () => _pageManager.SetPageState(PageState.SettingsPage));
     _gamePage.Init(_gridManager.UserGrid,
                    _gridManager.ComputerGrid,
                    _gridManager.GridSize,
                    () => _pageManager.SetPageState(PageState.StartPage),
                    _shipsManager,
                    _messageItemsController.StepMessageItems,
                    _sessionDataManager,
                    _pageManager.SetPageState,
                    _gridManager.ResetGrid);
     _settingsPage.Init(() => _pageManager.SetPageState(PageState.StartPage), _dataManager);
     _gridManager.Init(_attackManager.ElementPressedForAttack);
     _shipsManager.Init(_gridManager, _soundManager, _gamePage.TryToActivateConfirmButton);
     _attackManager.Init(_soundManager, _messageItemsController, _shipsManager, _sessionDataManager,
                         _gridManager, _gamePage);
 }