private void InitializePositions(Transform child)
    {
        Vector3 position           = sc.GetPosition(child.gameObject.transform.position);
        ThirdPersonCharacter ethan = child.GetComponent <ThirdPersonCharacter>();

        string[,] positions = grid.Positions;
        int i = Mathf.Abs(Mathf.RoundToInt(position.x / grid.Size));
        int j = Mathf.Abs(Mathf.RoundToInt(position.z / grid.Size));

        ethan.boardPosition = positions[j, i];
        piecesPositions.Add(positions[j, i]);

        //initialize attackables lists
        if (child.gameObject.layer == 11) //blue
        {
            attackBluePieces.Add(ethan.attackPositions);
        }
        else if (child.gameObject.layer == 12)
        {
            attackRedPieces.Add(ethan.attackPositions);
        }
    }