private void SetupPlayerBalls(List <GridBall> initialBalls) { activePlayerBall = Instantiate(playerBallPrefab, activeBallPosition); var firstRowBalls = initialBalls.FindAll(b => b.GridData.RowIndex == 0); var randomFirstBal = firstRowBalls[Random.Range(0, firstRowBalls.Count)]; firstRowBalls.Remove(randomFirstBal); var startingBallSettings = GameplayManager.Instance.GameSettings.BallSettings.Find(s => s.Value == randomFirstBal.Score); activePlayerBall.SetInfo(startingBallSettings); SpawnStandByBall(firstRowBalls); isInAimMode = true; }
private void SpawnStandByBall(List <GridBall> possibleStandbyBalls = null) { standbyPlayerBall = Instantiate(playerBallPrefab, standbyBallPosition); standbyPlayerBall.transform.localScale = Vector3.zero; standbyPlayerBall.transform.DOScale(standbyBallSize, newBallAppearTimer); if (possibleStandbyBalls == null) { possibleStandbyBalls = GridController.Instance.GetPossibleBalls(); if (possibleStandbyBalls.Count > 1 && possibleStandbyBalls.Find(b => b.Score == activePlayerBall.Score)) { possibleStandbyBalls.Remove(possibleStandbyBalls.Find(b => b.Score == activePlayerBall.Score)); } } var randomBallValue = possibleStandbyBalls[Random.Range(0, possibleStandbyBalls.Count)].Score; var standbyBallSettings = GameplayManager.Instance.GameSettings.BallSettings.Find(s => s.Value == randomBallValue); standbyPlayerBall.SetInfo(standbyBallSettings); }