GetComponentsInChildrenはTransformの配列で返してくるので、LinqでGameObjectの参照を拾いつつListにする。
何回も使う人は拡張メソッドにするといいかも?
List<GameObject> objects = GetComponentsInChildren<Transform>()
.Select(trs => trs.gameObject)
.ToList();
Linq習い中なのでSelectがよくわからず、最初はTransform[]で取った後ForEachでListにいちいちAddするとかいうスーパーバカな方法で無理やりやっていました。
これですっきり。
MonoBehaviourを継承しているクラスなら、こんなことせんでも
List<MyClass> myClassList = GetComponentsInChildren<MyClass>().ToList();
でOK。
0 件のコメント:
コメントを投稿