// Spawns ball with given difficulty parameters public void SpawnBall(BallSize size, BallSpeed speed, BallInitAngle initAngle, BallHorizDirection hDirect) { SetSpeed(speed); SetAngle(initAngle); SetSize(size); SetDirection(hDirect); Vector3 chosenSpawn = ChooseSpawn(); currBalls += 1; //vertDirection = Random.Range(0, 2) * 2 - 1; //initialImpulse = new Vector3(initialImpulse.x * horizDirection, initialImpulse.y, initialImpulse.z * vertDirection); ball.GetComponent <BallBehavior>().initialImpulse = initialImpulse; Instantiate(ball, chosenSpawn, Quaternion.identity); Debug.Log("Spawned ball."); ResetBallPrefab(); }
// Sets up intialImpulse to properly reflect the selected initial horizontal direction void SetDirection(BallHorizDirection hDirect) { if (hDirect.Equals(BallHorizDirection.Left)) { initialImpulse = new Vector3(initialImpulse.x * -1, initialImpulse.y, initialImpulse.z); } if (hDirect.Equals(BallHorizDirection.Right)) { // Do nothing, as ball will default to right } if (hDirect.Equals(BallHorizDirection.Random)) { int direct = Random.Range(0, 2) * 2 - 1; initialImpulse = new Vector3(initialImpulse.x * direct, initialImpulse.y, initialImpulse.z); } }