【Unity】HasComponent関数【拡張メソッド】

Unityで「単純にコンポーネントを持っているかチェックしたいな」みたいなことがあって、ただ「GetComponentしてnullチェック」とか「TryGetComponentするけど結果は破棄」はなんか嫌という潔癖なところがあるので、HasCompoent関数を実装しました。


using UnityEngine;

public static class GameObjectExtensions {

	public static bool HasComponent<T> (this GameObject gameObject) {
		return gameObject.TryGetComponent(out T _);
	}

	public static bool HasComponent<T> (this Component component) {
		return component.TryGetComponent(out T _);
	}

}

HasCompoentという名前がとても分かりやすくて気に入っています。


// Moverコンポーネントを持っているかチェックする
if (gameObject.HasComponent<Mover>()) {
	// 何かする
}
記事をシェアしてもらえると嬉しいです!