官术网_书友最值得收藏!

The RequireComponent attribute

Currently, we are using the Rigidbody component in order to create our script. When working as a team member, others may not be reading your scripts, but are still expected to use them when creating gameplay. Unfortunately, this means that they may do things that have unintended results, such as removing the Rigidbody component, which will cause errors when our script is run. Thankfully, we also have the RequireComponent attribute, which we can use to fix this.

It looks something like this:

using UnityEngine; 

[RequireComponent(typeof(Rigidbody))]
public class PlayerBehaviour : MonoBehaviour

By adding this attribute, we state that when we add this component to a game object and it doesn't have a Rigidbody attached to its game object, the component will be added automatically. It also makes it so that if we were to try to remove the Rigidbody from this object, the editor will warn us that we can't, unless we remove the PlayerBehaviour component first. Note that this works for any class extended from MonoBehaviour; just replace Rigidbody with whatever it is that you wish to keep.

Now, if we go into the Unity editor and try to remove the Rigidbody component by right-clicking on it in the Inspector and selecting Remove Component, the following message will be seen:

This is exactly what we want, and this ensures that the component will be there, allowing us not to have to include if-checks every time we want to use a component.

主站蜘蛛池模板: 江北区| 苗栗县| 耒阳市| 林西县| 平凉市| 黑水县| 南川市| 龙岩市| 南召县| 宁国市| 北川| 禄劝| 洱源县| 思茅市| 昆山市| 措勤县| 抚州市| 峨边| 蒙城县| 枞阳县| 中宁县| 原平市| 田林县| 军事| 通山县| 纳雍县| 乡宁县| 卢湾区| 柳林县| 双城市| 洪湖市| 大姚县| 安塞县| 牡丹江市| 锡林浩特市| 油尖旺区| 辉南县| 元谋县| 大同县| 浦城县| 翁牛特旗|