/// <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(); }