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

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.

主站蜘蛛池模板: 沾化县| 襄汾县| 太康县| 屏东市| 白玉县| 吉水县| 汪清县| 广南县| 大冶市| 晋宁县| 天峻县| 济源市| 驻马店市| 临潭县| 寿光市| 沂水县| 大丰市| 理塘县| 武定县| 沛县| 吉首市| 江城| 磐石市| 响水县| 徐汇区| 丹江口市| 武功县| 丽江市| 普宁市| 惠来县| 平邑县| 南投市| 凤庆县| 尤溪县| 恩施市| 新和县| 岚皋县| 思茅市| 九寨沟县| 池州市| 九江市|