private void InstantiateNewPlayerBall() { playerBall = ballsEmiter.GetReusedPlayerBall() ?? Instantiate(playerBallPrefab); playerBall.transform.SetParent(transform, false); if (!ballsEmiter.CheckNextBallConfiguration(nextPlayerBallConfiguration)) { nextPlayerBallConfiguration = ballsEmiter.GetNextBallConfiguration(); } BallConfiguration ballConfiguration = nextPlayerBallConfiguration; nextPlayerBallConfiguration = ballsEmiter.GetNextBallConfiguration(); imgNextPlayerBall.material = nextPlayerBallConfiguration.material; playerBall.Set(ballConfiguration, this); }
public PlayerBallPrefabController GetReusedPlayerBall() { int index = usedPlayerBalls.Count - 1; if (index < 0) { return(null); } PlayerBallPrefabController result = usedPlayerBalls[index]; usedPlayerBalls.RemoveAt(index); result.ReUse(); return(result); }