internal override IEnumerator SpawnPieces(Texture texture) { yield return(internalPuzzlePivot.SpawnPieces(texture)); internalPuzzlePivot.ScramblePiecePosition(); yield return(null); piecePivots = CreatePiecePivotList(); yield return(TakeSnapShotsOfPiecePivots(piecePivots)); if (TopPivot() == this) { yield return(base.SpawnPieces(null)); } else { yield return(TopPivot().SpawnPieces(null)); } SetPiecePivotsExtraRenderer(piecePivots); for (int i = 0; i < piecePivots.Count; i++) { TopPivot().SetTextureForPiecesRenderer(piecePivots[i].picture, piecePivots[i].pieceRendererIndex); } SetPiecePivotsGoal(piecePivots); internalPuzzlePivot.pivot.gameObject.transform.localPosition = new Vector3(0, 0, -5); HideAllPiecePivots(); }
private IEnumerator SetupExtraPivot(PuzzlePivot puzzlePivot) { SetBackgroundColor(puzzlePivots.Count); HideAllPuzzlePivots(); TakeSnapShot(puzzlePivot); puzzlePivots.Add(puzzlePivot); yield return(puzzlePivot.SpawnPieces(snapShot)); if (puzzlePivot.collectableObject != null) { collectableHelper.SetupCollectableLayerForPieces(puzzlePivot); } puzzlePivot.SetPiecePosition(); activePuzzlePivot = puzzlePivot; activePuzzlePivot.SetDepthOfPieces(); }