public GameController(Data.Data data, MainWindowController mainWindowController, MarkersWindowController markersWindowController, PlayerView leftPlayerView, PlayerView rightPlayerView)
        {
            _data = data;
            _mainWindowController    = mainWindowController;
            _markersWindowController = markersWindowController;

            _mainWindowController.RestartGame += _mainWindowController_RestartGame;

            _leftPlayerView  = leftPlayerView;
            _rightPlayerView = rightPlayerView;
        }
        private void Start()
        {
            var parser       = new JsonParser();
            var dataProvider = new ResourcesDataProvider(parser);

            var iconsProvider = new ResourcesIconsProvider("Icons");

            var mainWindowController = new MainWindowController(dataProvider.Data, iconsProvider);

            mainWindowController.ConnectView(_mainWindow);

            var coordinatesConverter = new WorldToUiCoordinatesConverter(_canvas.GetComponent <RectTransform>(), Camera.main);

            _markersWindow.SetCoordinatesConverter(coordinatesConverter);

            var markersWindowController = new MarkersWindowController();

            markersWindowController.ConnectView(_markersWindow);

            var gameController = new GameController(dataProvider.Data, mainWindowController, markersWindowController, _leftPlayer, _rightPlayer);

            gameController.StartGame(true);
        }