falling block bridge

I have a bridge set up of 20 blocks. I have a script on my character that when he touches a button it starts. I want the bridge to fall 1 block at a time starting from one end to the other. what would be the best way to do this?

Get an array of each block, in order, via script. Then something like this:

// C#
// Assumes you have "GameObject[] pieces;" already set up.

IEnumerator BridgeFall()
{
    for(int i = 0; i < pieces.Length; i++)
    {
        pieces*.rigidbody.gravity = true;*
 *// or however you make them "fall".*
 *yield return new WaitForSeconds(1);*
 *// or however long you want to wait for.*
 *}*
*}*
*```*
*<p>Then, just start the coroutine with `StartCoroutine(BridgeFall());` whenever you wanted it to fall.</p>*