GameObjectのすべての子オブジェクトに同じ処理を行う拡張メソッドです。
ソースコード
Transform
はIEnumerable
を実装しているため、foreach
で回すと子オブジェクトを取得できます。
これを利用して以下のように再帰するメソッドを作ります。
/// <summary> /// 全ての子オブジェクトに同じ処理を行う /// </summary> public static void InvokeRecursively(this Transform self, System.Action<Transform> action) { action(self); foreach (Transform child in self) { InvokeRecursively(self, action); } }
これで全ての子に対して処理がを行う拡張メソッドができました。