private void StartLevel(int i_index) { CabinetSpawner cabinetSpawner = new CabinetSpawner(); GameObject cabinet = cabinetSpawner.SpawnCabinet(levelStats[i_index]); levelStats[i_index].cabinetInstance = cabinet; MoleSpawner spawner = new MoleSpawner(); spawner.SpawnMoles(FindObjectOfType <HoleManager>(), levelStats[i_index]); LevelStartsEvent?.Invoke(levelStats[i_index]); }
/// <summary> /// For static events, always unsubscribe at level end /// </summary> public override void OnLevelEnd() { foreach (LevelStartedHandler d in LevelStartsEvent.GetInvocationList()) { LevelStartsEvent -= (LevelStartedHandler)d; } LevelEndsEvent?.Invoke(); foreach (LevelEndedHandler d in LevelEndsEvent.GetInvocationList()) { LevelEndsEvent -= (LevelEndedHandler)d; } }