//델리게이트 선언
public delegate void PlayerDieHandler();
//이벤트 선언
public static event PlayerDieHandler OnPlayerDie;
이벤트를 정의하려면 델리게이트를 이용해 이벤트 함수의 원형을 선언해야 된다
이때 이벤트는 언제 호출될지 모르기 때문에 정적(static)키워드를 사용해 서언해야 된다
OnPlayerDie는 이벤트명이라고 하지만 변수의 일종이며 PlayerDieHandler은 ONPlayerDie변수의 타입일 뿐인이다
//스크립트가 활성화 될때마다 호출되는 함수
void OnEnable()
{
//이벤트 발생 시 수행할 함수 연결
PlayerCtrl.OnPlayerDie += this.OnPlayerDie;
}
//스크립트가 비활성화될 때마다 호출되는 함수
void OnDisable()
{
//기존 연결된 함수 해제
PlayerCtrl.OnPlayerDie -= this.OnPlayerDie;
}
델리게이트 이벤트를 받아올 오브젝트의 함수
OnPlayerDie함수가 실행되게 세팅되어있다
'유니티 스크립트' 카테고리의 다른 글
코루틴(Coroutine) (0) | 2024.12.24 |
---|---|
델리기이트 예제 (0) | 2024.12.24 |
오브젝트를 포착하고 안의 함수를 호출(실행) (1) | 2024.12.24 |
Resources 폴더에서 프리팹 사용 (0) | 2024.12.23 |
Animator 헤시로 애니메이션 작동 (0) | 2024.12.23 |