public override void SolveCondition(AbstractPuzzleCondition pCondition = null) { base.SolveCondition(pCondition); if (pCondition == null) { return; } if (Conditions.Count > 3) { int index = Conditions.IndexOf(pCondition); int min = index - 1 >= 0 ? index - 1 : Conditions.Count - 1; int max = index + 1 < Conditions.Count ? index + 1 : 0; for (int i = 0; i < Conditions.Count; i++) { if (i == min || i == max || index == i) { if (Conditions[i].GetComponent <LightDarkBrazier>()) { Conditions[i].GetComponent <LightDarkBrazier>().Toggle(); } } } } }
public virtual void SolveCondition(AbstractPuzzleCondition pCondition = null) { if (CheckIfSolved() && !puzzleSolved) { SolvePuzzle(); } else if (puzzleSolved) { UnsolvePuzzle(); } }