GetComponent (NullRefereneExpection)

Хочу сделать условие sdo в скрипте Enemy и использовать его в Moving. При таком варианте выдает NullReferenceExpection (смотреть код ниже) `

public class Enemy : MonoBehaviour
public bool sdo = false;
////////////////////////////
public class Moving : MonoBehaviour
private bool sdo2 = false;
Enemy enemy = GetComponent<Enemy>();
sdo2 = enemy.sdo;

`


Ответы (1 шт):

Автор решения: MRXIT

Вы компонент должны вызывать от объекта. Если хотите получить ссылку от самого себя, в Awake напишите следующее:

[RequestComponent(typeof(Enemy))]
internal sealed class Enemy : MonoBehaviour
{
    [SerializeField]
    private Enemy EnemyReferenceClass;

    private void Awake()
    {
        if (this.TryGetComponent(out Enemy reference))
            EnemyReferenceClass = reference;
    }
}
→ Ссылка