public GameObject[] GetLowClouds(CloudSpriteSelector selector) { GameObject[] cloud = new GameObject[16]; for (int i = 0; i < 16; ++i) { cloud[i] = selector.SelectNew(); } return(cloud); }
public void Update(CloudCover cover, CloudSpriteSelector spriteSelector) { //is cloud out of screen range? int offset = 0; foreach (GameObject cloud in cloudPrefab) { if (cloud.transform.position.x < cover.GetMinX()) { cloud.gameObject.GetComponent <SpriteRenderer>().sprite = spriteSelector.GetRandom(); var newPos = new Vector3( cover.GetMaxX(), Random.Range(heightRange.x, heightRange.y), 0); cloud.transform.position = newPos; } if (cloud.transform.position.x > cover.GetMaxX()) { cloud.gameObject.GetComponent <SpriteRenderer>().sprite = spriteSelector.GetRandom(); var newPos = new Vector3( cover.GetMinX(), Random.Range(heightRange.x, heightRange.y), 0); cloud.transform.position = newPos; } offset++; } }
// Use this for initialization void Start() { spriteSelector = new CloudSpriteSelector(cloudPrefab); cloudCover = new CloudCover(); lowTracker = new LowCloudTracker(cloudCover, GetLowClouds(spriteSelector)); }