void createReflectionPiece(LinkedList <Vector3> piecePositions, PieceObject tempPiece) { LinkedList <Vector3> newList = new LinkedList <Vector3>(); foreach (var tempVector in piecePositions) { newList.AddLast(new Vector3(tempVector.x, tempVector.y - 1, tempVector.z)); } tempPiece.reflectionObjects = createPieceGameObject(newList, true, tempPiece.getPieceName()); var reflectionPieces = tempPiece.reflectionObjects; assignReflectionMaterials(reflectionPieces, tempPiece.getPieceName()); reflectionGravityCheck(); }
//locks the current piece in its spot, swaps it for no outline piece, swaps spawn boolean void lockPieceAndSwapSpawn() { removeReflection(); removeOutline(currentPiece, currentPiece.getPieceName()); hasHeldBool = false; playPieceSound(pieceLockedSound); currentPiece = null; bool oneLoop = true; int comboCounter = 0; while (oneLoop) { oneLoop = false; for (int i = 0; i < sizeDim + yOffset; i++) { if (isFullFloor(i)) { comboCounter += 1; removeFullFloor(i); Debug.Log("done floor " + i); oneLoop = true; } } for (int i = 0; i < sizeDim; i++) { if (isFullWallX(i)) { comboCounter += 1; removeFullWallX(i); Debug.Log("done wallX" + i); oneLoop = true; } } for (int i = 0; i < sizeDim; i++) { if (isFullWallZ(i)) { comboCounter += 1; removeFullWallZ(i); Debug.Log("done wallZ" + i); oneLoop = true; } } } if (comboCounter == 1) { currentScore += 1000; } if (comboCounter == 2) { currentScore += 5000; } if (comboCounter == 3) { currentScore += 10000; } if (comboCounter == 4) { currentScore += 25000; } if (comboCounter == 5) { currentScore += 100000; } shouldSpawn = true; }