작성
·
195
0
안녕하세요
델리게이트 이해가 조금 안가는게있습니다.
A라는 스크립트를 가지고있는 게임오브젝트가 Scene에 여러개가있고 A스크립트에 델리게이트가 있을 경우 A에 델리게이트를 각 게임오브젝트가 공유를 하는건지 , 아니면 개별적으로 따로 등록을해서 움직이는건지 궁금합니다.
예를들어 A 스크립트에 Task 라는 델리게이트가 있고 P 키보드를 누를경우 실행이 될때,
Task에 함수를 등록을 하고 한 게임오브젝트에서 Task.Invoke를 할 경우 Scene에 나머지 A스크립트에서도 Task가 실행되는지 궁금합니다.
( 혼자서 만든 델리게이트가 저렇게 공유를 하는데 이게 ScriptableObject가 공유가된건지 아님
원래 그런건지 모르겠지만 한곳에서 델리게이트를 실행하면 같은 스크립트를 가진 곳에서도 같이 실행이되서 각 델리게이트 함수에 조건을 걸어두고 사용했는데 이게 맞나요?)
답변 1
0
안녕하세요.
delegate는 일반적인 멤버 변수와 똑같습니다. 생성된 객체별로 존재하는 것으로 여러 객체가 공유하지 않습니다. 여러 객체가 공유하려면 일반적인 멤버 변수들처럼 static을 붙여줘야합니다.
감사합니다.
아하 감사합니다