コガネブログ

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

【Unity】無効なコンポーネントがアタッチされているかどうかを返す拡張メソッド

using UnityEngine;
using System.Linq;

public static class GameObjectExtensions
{
    /// <summary>
    /// 無効なコンポーネントがアタッチされている場合 true を返します
    /// </summary>
    public static bool HasMissingScript( this GameObject self )
    {
        return self
            .GetComponents<Component>()
            .Any( c => c == null );
    }
}

public static class ComponentExtensions
{
    /// <summary>
    /// 無効なコンポーネントがアタッチされている場合 true を返します
    /// </summary>
    public static bool HasMissingScript( this Component self )
    {
        return self
            .GetComponents<Component>()
            .Any( c => c == null );
    }
}
go.HasMissingScript();