コガネブログ

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

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

ソースコード

using UnityEngine;
using System.Linq;

/// <summary>
/// GameObject 型の拡張メソッドを管理するクラス
/// </summary>
public static class GameObjectExtensions
{
    /// <summary>
    /// 指定されたコンポーネントがアタッチされているかどうかを返します
    /// </summary>
    public static bool HasComponent<T>(this GameObject self) where T : Component
    {
        return self.GetComponent<T>() != null;
    }
}

使い方

var hasBoxCollider = gameObject.HasComponent<BoxCollider>();

コンポーネントがアタッチされているかどうかを確認する必要はあっても
そのコンポーネント自体は必要ない時に使用しています

関連記事