Unity拓展方法

合理运用Unity的一些拓展方法可使代码更简洁,还能提升工作效率!

using UnityEngine;
//这里要用静态,否则会报错
static class UnityExtension
{
    
    
    static public T GetOrAddComponent<T>(this GameObject go) where T : Component
    {
    
    
        T com = go.GetComponent<T>();
        if (com == null)
            com = go.AddComponent<T>();
        return com;
    }
}

调用方式

MeshRenderer render = gameObject.GetOrAddComponent<MeshRenderer>();

等同于

MeshRenderer render = gameObject.GetComponent<MeshRenderer>();
if(render == null)
	render = gameObject.AddComponent<MeshRenderer>();

猜你喜欢

转载自blog.csdn.net/weixin_38359813/article/details/103680873