"MissingMethodException: Method not found" но аналогичные методы в этом же скрипте работают
Создаю игру на Unity с использованием новой InputSystem. Создал несколько аналогичных методов при нажатии нужных кнопок. Они работают. Но новый, практически ничем не отличающийся, на ровном месте выдаёт ошибку:
MissingMethodException: Method 'PlayerController.OnCursorActivating' not found.
System.RuntimeType.InvokeMember (System.String name, System.Reflection.BindingFlags bindingFlags, System.Reflection.Binder binder, System.Object target, System.Object[] providedArgs, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, System.String[] namedParams) (at <dc753a1061284f8e971ee88ee4826eee>:0)
UnityEngine.SetupCoroutine.InvokeMember (System.Object behaviour, System.String name, System.Object variable) (at <6f7018b8b8c149e68c4a65a05ac289be>:0)
UnityEngine.InputSystem.LowLevel.<>c__DisplayClass7_0:<set_onUpdate>b__0(NativeInputUpdateType, NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate(NativeInputUpdateType, IntPtr)
Вот скрипт PlayerController:
[SerializeField] private InputActionAsset _inputActionAsset;
[SerializeField] MainCharacterActions _currentCharacter;
private InputActionMap _playerMap;
private InputAction _attackAction;
private InputAction _cursorActivating;
private void Awake()
{
_playerMap = _inputActionAsset.FindActionMap("Player");
_attackAction = _playerMap.FindAction("Attack");
_cursorActivating = _playerMap.FindAction("CursorActivating");
}
private void OnEnable()
{
_playerMap.Enable();
_attackAction.performed += OnAttackInput;
_cursorActivating.performed += OnCursorActivating;
}
private void OnDisable()
{
_playerMap.Disable();
_attackAction.performed -= OnAttackInput;
_cursorActivating.performed -= OnCursorActivating;
}
private void OnAttackInput(InputAction.CallbackContext context)
{
_currentCharacter.PlayerComboAttack();
}
private void OnCursorActivating(InputAction.CallbackContext context)
{
CursorVisibilityChange();
}
public void CursorVisibilityChange()
{
Debug.Log("работает");
}
Имена методов проверил, названия экшнов в инпутах тоже. Не знаю что не так. Но при этом метод CursorVisibilityChange()
вызываемый внутри выдающего ошибку OnCursorActivating
работает как надо