MetaAsteroids_WormholePiece AddPiece()
    {
        GameObject g = GameObject.Instantiate(WormholePrefab);

        g.SetActive(false);
        MetaAsteroids_WormholePiece e = g.GetComponent <MetaAsteroids_WormholePiece>();

        pieces.Add(e);
        return(e);
    }
 void Update()
 {
     timer -= Time.deltaTime;
     while (timer <= 0f)
     {
         timer += (1f / Frequency);
         int index = chances[UnityEngine.Random.Range(0, chances.Count)];
         MetaAsteroids_WormholePiece piece = pool.GetPiece();
         piece.Begin(transform.position, transform.localScale.x, PieceAppearances[index]);
     }
 }
    public MetaAsteroids_WormholePiece GetPiece()
    {
        for (int i = 0; i < pieces.Count; i++)
        {
            if (!pieces[i].gameObject.activeSelf)
            {
                pieces[i].gameObject.SetActive(true);
                return(pieces[i]);
            }
        }

        MetaAsteroids_WormholePiece e = AddPiece();

        e.gameObject.SetActive(true);
        return(e);
    }