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

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.

主站蜘蛛池模板: 昌乐县| 哈巴河县| 平果县| 兴和县| 新沂市| 山西省| 泰宁县| 当阳市| 遵义市| 界首市| 文山县| 天水市| 崇义县| 潜江市| 金堂县| 东丽区| 西乌珠穆沁旗| 凤庆县| 高邑县| 津南区| 林周县| 上栗县| 漾濞| 永川市| 盐池县| 汉川市| 永和县| 万全县| 盐边县| 通化市| 山西省| 南江县| 武平县| 衡阳县| 万载县| 额敏县| 临湘市| 营口市| 岳普湖县| 韶关市| 陕西省|