コガネブログ

平日更新を目標にUnityやC#などのゲーム開発アレコレを書いていきます

【Unity】指定されたインターフェイスを実装したコンポーネントを持つオブジェクトを検索する関数

using UnityEngine;

public static class GameObjectExtensions
{
    /// <summary>
    /// 指定されたインターフェイスを実装したコンポーネントを持つオブジェクトを検索します
    /// </summary>
    public static T FindObjectOfInterface<T>() where T : class
    {
        foreach ( var n in GameObject.FindObjectsOfType<Component>() )
        {
            var component = n as T;
            if ( component != null )
            {
                return component;
            }
        }
        return null;
    }
}