Unity - InputManager

sansam41·2021년 12월 25일
0

UnityEngine

목록 보기
4/11

Unity - InputManager

  • 프레임마다 한번씩 호출되는 Update에 입력키를 받는 코드를 삽입할 경우 입력 여부 상관없이 검사를 수행하므로 경우에 따라 굉장한 부하가 발생할 수 있다.
  • 따라서 Action을 사용하여 모든 input을 InputManager에서 관리하도록 구현하는 것이 좋다.
  • InputManager를 통해 관리할 경우 Input관련 코드가 한 클래스에서만 이뤄지므로 관리가 간편하다.
// Action을 사용한 InputManager

public class InputManager
{
    public Action KeyAction = null;
    public void OnUpdate()
    {
        // 뭔가 입력이 된 상태
        if (Input.anyKey == false)
            return;

        // KeyAction이 구독 된 상태라면 구독된 모든 함수 수행
        if (KeyAction != null)
            KeyAction.Invoke();
    }
}
  • 이 방식을 통하여 GameManager에서 Key의 입력을 검사하고 Key가 입력됐을 경우에만 Key의 값을 비교하여 플레이어 캐릭터가 움직이도록 구현한다.
profile
공부 기록용 블로그입니다

0개의 댓글