this is a test post please ignore it

test group

  1. First item
  2. Second item
  3. Third item
    • Indented item
    • Indented item
  4. Fourth item

test group 2

  1. First item
  2. Second item
  3. Third item
  4. Fourth item

test group 3

  1. First item
  2. Second item
  3. Third item
  4. Fourth item
  • First item
  • Second item
  • Third item
  • Fourth item

Finding Assets to Use

The unity asset store is a great place to publish your own content to have others use it and/or pay you for it, but it is also a great resource for inspiration or saving you from spending time making tons of assets.

I found this one for the hail ball.

1using UnityEngine; 2using System.Collections; 3 4public class CloudPool : MonoBehaviour 5{ 6 public GameObject cloudPrefab; //The cloud game object. 7 public int cloudPoolSize = 5; //How many clouds to keep on standby. 8 public float initialCloudSpawnRate = 3f; //How quickly clouds spawn. 9 public float cloudSpawnRate; 10 public float cloudMin = -1f; //Minimum y value of the cloud position. 11 public float cloudMax = 3.5f; //Maximum y value of the cloud position. 12 public float spawnXPosMax = 8f; 13 public float spawnXPosMin = -4f; 14 private GameObject[] clouds; //Collection of pooled clouds. 15 private int currentCloud = 0; //Index of the current cloud in the collection. 16 private Vector2 objectPoolPosition = new Vector2(-15, -25); //A holding position for our unused clouds offscreen. 17 private float spawnXPosition = 10f; 18 private float timeSinceLastSpawned; 19 20 void Start() 21 { 22 cloudSpawnRate = initialCloudSpawnRate; 23 timeSinceLastSpawned = cloudSpawnRate; 24 25 //Initialize the clouds collection. 26 clouds = new GameObject[cloudPoolSize]; 27 28 //Loop through the collection 29 for (int i = 0; i < cloudPoolSize; i++) 30 { 31 //and create the individual clouds. 32 clouds[i] = (GameObject)Instantiate(cloudPrefab, objectPoolPosition, Quaternion.identity); 33 } 34 35 Update(); 36 } 37 38 //This spawns clouds as long as the game is not over. 39 void Update() 40 { 41 timeSinceLastSpawned += Time.deltaTime; 42 43 if (GameControl.instance.gameOver == false && timeSinceLastSpawned >= cloudSpawnRate) 44 { 45 cloudSpawnRate = initialCloudSpawnRate / System.Math.Abs(GameControl.instance.scrollSpeed); 46 timeSinceLastSpawned = 0f; 47 48 //Set a random y position for the cloud 49 float spawnYPosition = Random.Range(cloudMin, cloudMax); 50 spawnXPosition = Random.Range(spawnXPosMin, spawnXPosMax); 51 52 //then set the current cloud to that position. 53 clouds[currentCloud].gameObject.SetActive(true); 54 clouds[currentCloud].transform.position = new Vector2(spawnXPosition, spawnYPosition); 55 56 //Increase the value of currentCloud. If the new size is too big, set it back to zero 57 currentCloud++; 58 if (currentCloud >= cloudPoolSize) 59 { 60 currentCloud = 0; 61 } 62 } 63 } 64} 65