NullReferenceException при получении интерфейсаC#

Место общения программистов C#
Ответить
Anonymous
 NullReferenceException при получении интерфейса

Сообщение Anonymous »

Я пишу скрипт для управления пользовательским вводом, но Unity не видит мой интерфейс IMovable. Я ожидаю, что IMovable не будет иметь значение Null.
GetComponent() имеет значение Null.

Код: Выделить всё

using System;
using UnityEngine;
using UnityEngine.InputSystem;

namespace Certains.Cientifics.Notes
{
public class InputController : MonoBehaviour
{
private PlayerInput controls;

private IMovable _move;

private void Awake()
{
controls = new PlayerInput();

_move = GetComponent();
}

private void OnEnable() => controls.Enable();
private void OnDisable() => controls.Disable();
private void OnDestroy() => controls.Disable();

private void Update()
{
ReadMove();
}

private void ReadMove()
{
_move?.Move(controls.Player.Move.ReadValue());
Debug.Log(_move);`This problem`
}
}
}
using UnityEngine;

namespace Certains.Cientifics.Notes
{
public interface IMovable
{
void Move(Vector2 direction);
}
}

Как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -interface
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»