• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

델리게이트 궁금한점

23.07.27 09:03 작성 조회수 129

0

안녕하세요

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

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

 

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

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

 

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

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

답변 1

답변을 작성해보세요.

0

안녕하세요.

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

감사합니다.

아하 감사합니다