protected virtual void OnComplete() { isCompleted = true; //print($"Puzzle: {gameObject} completed"); controller.OnPuzzleComplete(puzzleId); foreach (BaseComponent component in components) { component.Enable(false); } }