private IEnumerator FollowTarget()
 {
     while (true)
     {
         if (Target != null)
         {
             if (Target.GetComponent <PieceController>().Placeable)
             {
                 gameObject.SetActive(false);
                 yield break;
             }
             var pos = Target.transform.position;
             bar.transform.position = new Vector2(pos.x, pos.y) + offset;
             Star = Target.star;
         }
         yield return(null);
     }
 }
    void GrayPieces()
    {
        string validType = InventoryWindowController.TextStringFromType(towerType);

        foreach (Transform childPiece in piecesLayer)
        {
            PieceController pc = childPiece.GetComponent <PieceController>();
            Image           i  = pc.GetComponent <Image>();
            if (pc.validTypes[validType])
            {
                i.color = new Color(1f, 1f, 1f, 1f);
            }
            else
            {
                i.color = new Color(.5f, .5f, .5f, .5f);
            }
        }
    }