mirror of
https://github.com/RHeavenStudio/HeavenStudio.git
synced 2025-06-13 09:47:39 +02:00
Editor stuff
This commit is contained in:
@ -0,0 +1,33 @@
|
||||
using System;
|
||||
|
||||
namespace UnityEngine.UI.Extensions
|
||||
{
|
||||
public static class ExtentionMethods
|
||||
{
|
||||
public static T GetOrAddComponent<T>(this GameObject child) where T : Component
|
||||
{
|
||||
T result = child.GetComponent<T>();
|
||||
if (result == null)
|
||||
{
|
||||
result = child.AddComponent<T>();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static bool IsPrefab(this GameObject gameObject)
|
||||
{
|
||||
if (gameObject == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(gameObject));
|
||||
}
|
||||
|
||||
return
|
||||
!gameObject.scene.IsValid() &&
|
||||
!gameObject.scene.isLoaded &&
|
||||
gameObject.GetInstanceID() >= 0 &&
|
||||
// I noticed that ones with IDs under 0 were objects I didn't recognize
|
||||
!gameObject.hideFlags.HasFlag(HideFlags.HideInHierarchy);
|
||||
// I don't care about GameObjects *inside* prefabs, just the overall prefab.
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user