public BallSettings GetBallSettings() { BallSettings ballSettings = new BallSettings(); ballSettings.Size = Random.Range(_settings.MinSize, _settings.MaxSize); ballSettings.Speed = (int)UtilFunc.MapValue(ballSettings.Size, _settings.MinSize, _settings.MaxSize, _settings.MaxSpeed, _settings.MinSpeed) + _speedStep; ballSettings.StartPos = new Vector3(GetRandomXPos(ballSettings.Size), -GD.ScreenHeight / 2 - ballSettings.Size / 2); ballSettings.Color = Random.ColorHSV(); ballSettings.Points = (int)UtilFunc.MapValue(ballSettings.Speed, _settings.MinSpeed + _speedStep, _settings.MaxSpeed + _speedStep, _settings.MinPoints, _settings.MaxPoints + 1); return(ballSettings); }