示例#1
0
        /// <summary>
        /// 取得一个组件,如果没有就添加这个组件
        /// </summary>
        /// <typeparam name="T">目标组件</typeparam>
        /// <param name="monoBehaviour"></param>
        /// <returns>目标组件</returns>
        public static T GetComponentIfNullAdd <T>(this Behaviour monoBehaviour)
            where T : Component
        {
            var com = monoBehaviour.GetComponent <T>();

            if (com == null)
            {
                com = monoBehaviour.gameObject.AddComponent <T>();
            }

            return(com);
        }
示例#2
0
        /// <summary>
        /// 取得一个组件,如果没有就添加这个组件
        /// </summary>
        /// <typeparam name="T">目标组件</typeparam>
        /// <param name="monoBehaviour"></param>
        /// <param name="isNewAdd">返回是不是新添加的</param>
        /// <returns>目标组件</returns>
        public static T GetComponentIfNullAdd <T>(this Behaviour monoBehaviour, out bool isNewAdd)
            where T : Component
        {
            isNewAdd = false;
            var com = monoBehaviour.GetComponent <T>();

            if (com == null)
            {
                com      = monoBehaviour.gameObject.AddComponent <T>();
                isNewAdd = true;
            }

            return(com);
        }