private void Start() { arenas = new ArenaPropsSet[arenaPropsSets.Length]; for (int i = 0; i < arenaPropsSets.Length; i++) { arenas[i] = Instantiate <ArenaPropsSet>(arenaPropsSets[i], transform); arenas[i].SetActive(false); } if (currentlyActiveArena != null) { var newGameObject = Instantiate(currentlyActiveArena, transform); currentlyActiveArena = newGameObject.GetComponent <ArenaPropsSet>(); //currentlyActiveArena = arenas[Array.IndexOf(arenaPropsSets, currentlyActiveArena)]; foreach (ArenaHole hole in currentlyActiveArena.GetComponentsInChildren <ArenaHole>()) { hole.HoleType = ArenaHoleType.EndlessDebugHole; } } else { currentlyActiveArena = arenas[0]; } //var startingArenaIndex = Array.Find(arenaPropsSets, p => currentlyActiveArena) != null ? Array.IndexOf(arenaPropsSets, currentlyActiveArena) : 0; //currentlyActiveArena = arenas[startingArenaIndex]; currentlyActiveArena.SetActive(true); currentlyActiveArena.SpawnBall(); UIEvents.Instance.OnStockpileUpdated?.Invoke(numberOfBallsInStockpile); ArenaControlBoard.Instance.OnBroadcastButtonPressed += OnButtonPressed; initialized = true; //ArenaControlBoard.Instance.OnBroadcastButtonReleased += OnButtonReleased; }
public void NextArena() { currentlyActiveArena.SetActive(false); var nextArenaIndex = Array.IndexOf(arenas, currentlyActiveArena) + 1; if (nextArenaIndex > arenas.Length - 1) { nextArenaIndex = 0; } currentlyActiveArena = arenas[nextArenaIndex]; currentlyActiveArena.SetActive(true); }
public void PreviousArena() { currentlyActiveArena.SetActive(false); var previousArenaIndex = Array.IndexOf(arenas, currentlyActiveArena) - 1; if (previousArenaIndex < 0) { previousArenaIndex = 0; } //previousArenaIndex = arenas.Length - 1; currentlyActiveArena = arenas[previousArenaIndex]; currentlyActiveArena.SetActive(true); }