Unity扩展GameObject等类中的方法
Posted StraussDu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity扩展GameObject等类中的方法相关的知识,希望对你有一定的参考价值。
有时我们想在添加组件时避免重复添加,就需要先把存在的组件删除。于是写出扩展方法封装AddComponent。
public static class Assist { public static T AddComponentSingle<T>(this GameObject gameObject) where T : Component { return addcomponentSingle<T>(gameObject); } public static T AddComponentSingle<T>(this Transform transform) where T : Component { return addcomponentSingle<T>(transform.gameObject); } private static T addcomponentSingle<T>(GameObject target) where T : Component { if (target.GetComponent<T>() != null) { GameObject.Destroy(target.GetComponent<T>()); } return target.AddComponent<T>(); } }
通过这种方式就可以直接让gameobject使用我们自己封装的方法了。
以上是关于Unity扩展GameObject等类中的方法的主要内容,如果未能解决你的问题,请参考以下文章
unity C# 法通过引用转换...将类型“UnityEngine.GameObject”转换为“UnityEngine.Rigidbody”