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

Vanellope i님의 프로필 이미지
Vanellope i

작성한 질문수

[유니티 레벨 업!] 모듈식으로 개발하는 퀘스트&업적 시스템

델리게이트 궁금한점

작성

·

195

0

안녕하세요

델리게이트 이해가 조금 안가는게있습니다.

A라는 스크립트를 가지고있는 게임오브젝트가 Scene에 여러개가있고 A스크립트에 델리게이트가 있을 경우 A에 델리게이트를 각 게임오브젝트가 공유를 하는건지 , 아니면 개별적으로 따로 등록을해서 움직이는건지 궁금합니다.

 

예를들어 A 스크립트에 Task 라는 델리게이트가 있고 P 키보드를 누를경우 실행이 될때,

Task에 함수를 등록을 하고 한 게임오브젝트에서 Task.Invoke를 할 경우 Scene에 나머지 A스크립트에서도 Task가 실행되는지 궁금합니다.

 

( 혼자서 만든 델리게이트가 저렇게 공유를 하는데 이게 ScriptableObject가 공유가된건지 아님

원래 그런건지 모르겠지만 한곳에서 델리게이트를 실행하면 같은 스크립트를 가진 곳에서도 같이 실행이되서 각 델리게이트 함수에 조건을 걸어두고 사용했는데 이게 맞나요?)

답변 1

0

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

안녕하세요.

delegate는 일반적인 멤버 변수와 똑같습니다. 생성된 객체별로 존재하는 것으로 여러 객체가 공유하지 않습니다. 여러 객체가 공유하려면 일반적인 멤버 변수들처럼 static을 붙여줘야합니다.

감사합니다.

Vanellope i님의 프로필 이미지
Vanellope i
질문자

아하 감사합니다

 

Vanellope i님의 프로필 이미지
Vanellope i

작성한 질문수

질문하기