2026-05-14 2D Platformer Game 캐릭터 이동
This commit is contained in:
41
Assets/02_Scripts/Managers/InputManager.cs
Normal file
41
Assets/02_Scripts/Managers/InputManager.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
public class InputManager : MonoBehaviour, GameInput.IPlayerActions
|
||||
{
|
||||
public static InputManager Instance { get; private set; }
|
||||
|
||||
private GameInput _input;
|
||||
|
||||
public event Action<Vector2> OnMove_Event;
|
||||
public event Action OnJump_Event;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (Instance != null && Instance != this)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
return;
|
||||
}
|
||||
Instance = this;
|
||||
|
||||
_input = new GameInput();
|
||||
_input.Player.SetCallbacks(this);
|
||||
}
|
||||
|
||||
private void OnEnable() => _input?.Player.Enable();
|
||||
private void OnDisable() => _input?.Player.Disable();
|
||||
private void OnDestroy() => _input?.Dispose();
|
||||
|
||||
public void OnMove(InputAction.CallbackContext ctx)
|
||||
{
|
||||
OnMove_Event?.Invoke(ctx.ReadValue<Vector2>());
|
||||
}
|
||||
|
||||
public void OnJump(InputAction.CallbackContext ctx)
|
||||
{
|
||||
if (ctx.phase == InputActionPhase.Started)
|
||||
OnJump_Event?.Invoke();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user