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

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.

主站蜘蛛池模板: 文山县| 扬中市| 哈密市| 海兴县| 东乡族自治县| 股票| 随州市| 永和县| 永兴县| 盐边县| 柯坪县| 师宗县| 秦皇岛市| 瓮安县| 循化| 新蔡县| 楚雄市| 多伦县| 克什克腾旗| 陆河县| 富顺县| 濮阳市| 监利县| 新丰县| 宝山区| 桐庐县| 靖江市| 郴州市| 汕尾市| 喀喇沁旗| 临夏县| 涞源县| 浦东新区| 锡林郭勒盟| 大港区| 周至县| 韩城市| 夏邑县| 建德市| 炉霍县| 三明市|