Invoke()는 C#에서 "호출하다" 또는 "실행하다" 라는 뜻을 가진 메서드 또는 키워드이다.
MVP로 코드를 만들 때 Invoke()는 이벤트(Event) 트리거로 사용된다.
1. 이벤트 트리거로서의 Invoke()
C#에서 event Action OnDied; 와 같이 선언된 이벤트 핸들러를 실행하기 위해 내부적으로 invoke()를 사용한다.
public event Action OnDied;
if(_playerHealth == 0)
{
OnDied?.Invoke();
}
?. (널 조건부 연산자): null인지 아닌지 판단해서 Null이 아니면 OnDied 이벤트에 구독된 하나 이상의 메서드가 있다면
Invoke(): 연결된 모든 메서드를 순서대로 호출(실행) 할 것
플레이어 체력이 0이 되면 OnDied에 이벤트를 발생시켜 "체력이 0이 되었다"고 알려서 모두 실행시키게 한다.
2. Unity의 Invoke()메서드
Unity에 있는 MonoBehaviour 클래스는 Invoke()라는 이름의 내장 메서드를 제공한다. 이 메서드는 특정 시간 지연 후에 함수를 실행하도록 한다.
void Start()
{
Invoke("GameStart", 5f);
}
void GameStart()
{
Debug.Log("게임 시작");
}
5초 후에 게임을 시작하도록 하는 Invoke 함수의 사용
구글 AI의 도움을 받아 작성하였습니다.
댓글 없음:
댓글 쓰기