Пример #1
0
    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();
                    }
                }
            }
        }
    }
Пример #2
0
 public virtual void SolveCondition(AbstractPuzzleCondition pCondition = null)
 {
     if (CheckIfSolved() && !puzzleSolved)
     {
         SolvePuzzle();
     }
     else if (puzzleSolved)
     {
         UnsolvePuzzle();
     }
 }