public void ChangeSolved(int index, bool value, PuzzlesOnThePlanet planet) { multiPuzzles[index].isSolved = value; isPuzzleAreaFinished = CheckIfPuzzleAreaFinished(); _puzzleManager.CheckIfPlanetAllPuzzlesAreSolved(planet); }
public void CheckIfPlanetAllPuzzlesAreSolved(PuzzlesOnThePlanet planetWithPuzzles) { var findPlanetIndex = planetsWithPuzzles.FindIndex(planet => planet.planet == planetWithPuzzles); for (int i = 0; i < planetsWithPuzzles[findPlanetIndex].planet._puzzleTriggers.Count; i++) { if (planetsWithPuzzles[findPlanetIndex].planet._puzzleTriggers.Exists(area => area.isPuzzleAreaFinished == false)) { planetsWithPuzzles[findPlanetIndex].planetSolved = false; if (planetWithPuzzles.isBeamOn) { planetWithPuzzles.BeamOff(true); } } else { planetsWithPuzzles[findPlanetIndex].planetSolved = true; if (!planetWithPuzzles.isBeamOn) { planetWithPuzzles.BeamOn(); } } } CheckHowManyAreSolvedOnThePlanet(); DisplayPuzzleAmount(); }