MeteorDictionary GetAvailableMeteorSprites(float mass, MeteorDictionary meteors)
    {
        MeteorDictionary availableMeteors = new MeteorDictionary();

        foreach (KeyValuePair <string, Meteor> met in meteors)
        {
            if (met.Value.GetMin() <= mass && met.Value.GetMax() >= mass)
            {
                availableMeteors.Add(met.Key, met.Value);
            }
        }
        return(availableMeteors);
    }
 void GenerateArea(GameObject obj, GameObject parent, float x, float y, float length, int amount)
 {
     for (int i = 0; i < amount; i++)
     {
         float      randX  = UnityEngine.Random.Range(0, length);
         float      randY  = UnityEngine.Random.Range(0, length);
         GameObject newObj = Instantiate(obj, parent.transform);
         newObj.transform.localPosition = new Vector3(x + randX, y + randY);
         float mass = UnityEngine.Random.Range(1, 1000);
         newObj.GetComponent <SpaceObjectController>().massInput = mass;
         MeteorDictionary availableMeteors = GetAvailableMeteorSprites(mass, MeteorSprites);
         newObj.GetComponent <SpriteRenderer>().sprite = availableMeteors.ElementAt(UnityEngine.Random.Range(0, availableMeteors.Count)).Value.GetSprite();
         Destroy(newObj.GetComponent <PolygonCollider2D>());
         newObj.AddComponent <PolygonCollider2D>();
     }
 }