/// <summary>
        /// call at level start, create all necessary steps to load level, take screen etc
        /// </summary>
        public void StartGame()
        {
            MGC.Instance.getMinigameStates().SetPlayed(MGC.Instance.selectedMiniGameName, MGC.Instance.selectedMiniGameDiff);

            LondonToweXMLGameLoader loader = new LondonToweXMLGameLoader();

            foreach (TextAsset gameData in xmlLevels)
            {
                data.AddRange(loader.ParseXmlTextAsset(gameData));
            }

            // numbers 0, 1,2 ; 0 easier - only 3 spheres on poles

            int numberOfSpehre = MGC.Instance.selectedMiniGameDiff + 3;

            List<LondonToweGameStartWinData> filteredDificulty = new List<LondonToweGameStartWinData>();
            foreach (LondonToweGameStartWinData game in data)
            {
                if ((game.pole1.Count + game.pole2.Count + game.pole3.Count) == numberOfSpehre)
                {
                    filteredDificulty.Add(game);
                }
            }

            levelSet = filteredDificulty[Random.Range(0, filteredDificulty.Count - 1)].GameID;

            foreach (LondonToweGameStartWinData level in data)
            {
                if (level.GameID == levelSet)
                {
                    if (level.IsStart())
                    {
                        startGame = level;

                    }
                    else
                    {
                        endGame = level;
                    }
                }
            }

            poles = new List<LondonTowePoleScript>(FindObjectsOfType<LondonTowePoleScript>());
            SetLevel(startGame);

            foreach (LondonToweSphereScript sphere in spheres)
            {
                sphere.gameManager = this;
            }

            foreach (LondonTowePoleScript pole in poles)
            {
                pole.gameManager = this;
            }
            state = LondonTowerGameState.game;
        }
 public void GameEnd()
 {
     LondonTowerGameManager.state = LondonTowerGameState.winGUI;
     minimap.SetActive(false);
     MGC.Instance.WinMinigame();
 }