【Unity】GameObjectのすべての子オブジェクトに同じ処理を行う拡張メソッド

GameObjectのすべての子オブジェクトに同じ処理を行う拡張メソッドです。

ソースコード

TransformIEnumerableを実装しているため、foreachで回すと子オブジェクトを取得できます。
これを利用して以下のように再帰するメソッドを作ります。

/// <summary>
/// 全ての子オブジェクトに同じ処理を行う
/// </summary>
public static void InvokeRecursively(this Transform self, System.Action<Transform> action)
{
    action(self);
        
    foreach (Transform child in self)
    {
        InvokeRecursively(self, action);
    }
}

これで全ての子に対して処理がを行う拡張メソッドができました。