|
|
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.InputSystem;
- using Variables;
- using NaughtyAttributes;
-
- public class CharacterInputController : MonoBehaviour
- {
-
- [SerializeField,Header("References")]
- private CharacterController2D m_characterController;
-
- [SerializeField]
- private Reference<bool> m_playerInput;
-
- [SerializeField]
- private Reference<bool> m_noInputAllowed;
-
- [SerializeField,BoxGroup("Settings")]
- private float m_speed = 2.0f;
-
- [ShowNonSerializedField]
- private Vector2 m_movement;
-
- [ShowNonSerializedField]
- private bool m_jump;
-
-
-
- public void OnMove(InputAction.CallbackContext context)
- {
- m_movement = context.ReadValue<Vector2>();
- }
-
- public void OnJump(InputAction.CallbackContext context)
- {
- m_jump = context.ReadValueAsButton();
- }
-
- private void Update()
- {
-
- if (!m_noInputAllowed)
- {
- m_characterController.Move(m_movement.x * m_speed, false, m_jump);
- m_playerInput.Value = m_movement.magnitude != 0 || m_jump;
- }
- else
- {
- m_characterController.Move(0, false, false);
- m_playerInput.Value = false ;
- }
- }
-
-
-
-
-
-
- }
|