인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

강아지호빵찐빵님의 프로필 이미지
강아지호빵찐빵

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

Camera #2

이해가 안 되는 부분이 있어요.

해결된 질문

작성

·

233

2

public class InputManager

{

    public Action<Define.MouseEvent> MouseAction = null;

   

    public void OnUpdate()

    {

        if(MouseAction != null)

        {

            if (Input.GetMouseButton(0))

            {

                MouseAction.Invoke(Define.MouseEvent.Press);

                _pressed = true;

            }

            else

            {

                if (_pressed)

                {

                    MouseAction.Invoke(Define.MouseEvent.Click);

                    _pressed = false;

                }

            }

        }

    }

}

위 코드에서  if(MouseAction != null) 이 잘 이해되지 않습니다.  제일 위에서   public Action<Define.MouseEvent> MouseAction = null;로 MouseAction을 null로 초기화 했으니  if(MouseAction != null) 는 작동하지 않아야 하는 거 아닌가요..?

답변 1

2

Rookiss님의 프로필 이미지
Rookiss
지식공유자

윗 코드만 보면 그런데,
실제로 밖에서 MouseAction에 += 로 접근해서
추가를 해주는 부분이 있습니다.
필요한 애가 콜백 함수를 등록하는 것이지요.

Managers.Input.MouseAction += OnMouseClicked;

말씀이시군요. 감사합니다!

강아지호빵찐빵님의 프로필 이미지
강아지호빵찐빵

작성한 질문수

질문하기