public void SpawnBall(V3Player player) { V3Ball ball = Instantiate(ballPrefab, new Vector2(player.ballSpawnXPos, Random.Range(0.5f, 19.5f)), Quaternion.identity).GetComponent <V3Ball>(); ball.player = player; //ballList.Add(ball); }
private void Start() { // is geloof ik beter voor performance dan telkens iets.instance te gebruiken //audioManager = AudioManager.Instance; audioManager = V3AudioManager.Instance; controller = V3Controller.Instance; blockManager = V3BlockManager.Instance; // stel het grid en de bounds in gridWidth = controller.gridWidth; gridHeight = controller.gridHeight; grid = new Transform[gridWidth, gridHeight]; UpdateOrigins(gridWidth, gridHeight); SetLineRendererPositions(); // voeg minos toe aan pool blockManager.AddNMinos(gridWidth * gridHeight); // was eerst globaal, maar dat is nu niet meer nodig, omdat de tetromino naar zijn startpositie kan springen Vector3 tetrominoSpawnPosition = new Vector3(bounds.topLeft.x + (bounds.topRight.x - bounds.topLeft.x) / 2, bounds.topLeft.y, bounds.topLeft.z); // maak tetromino aan tetromino = Instantiate(tetrominoPrefab, tetrominoSpawnPosition, Quaternion.identity).GetComponent <V3Tetromino>(); tetromino.player = this; otherPlayer = controller.player1 == this ? controller.player2 : controller.player1; controller.SpawnBall(this); verMoveSpeed = verMoveStartSpeed; }
// verhoogt de snelheid waarmee blokken vallen voor een speler public void IncreasePlayerSpeed(V3Player player) { if (player != null) { player.verMoveSpeed = verMoveEndSpeed; } }
// voegt waarde aan score van een player toe public void IncreasePlayerScore(V3Player player, float amount) { if (player != null) { player.score += amount; } }
private void Respawn() { //als hij uit het scherm gaat en in een muur spawnt voorkomt dit dat hij terug naar zijn laatste positie, buiten het scherm verspringt positionHistory.Clear(); if (player.dead) { if (!player.otherPlayer.dead) { player = player.otherPlayer; Vector3 tmpPos = startPosition; tmpPos.x = player.otherPlayer.ballSpawnXPos; SetStartPosition(tmpPos); } else { gameObject.SetActive(false); } } player.IncreasePlayerScore(player.otherPlayer, 50); JumpToStartPosition(); SendInNewRandomDirection(); }