SO에 UnityEvent를 발행했는데, 이러면 inspector에서 구독자를 설정하고 볼 수 있으니까 좋을거라고 생각했음.
그런데 inspector의 object를 넣는 칸에 script를 넣어도 인식을 못하고, gameObject는 들어가지도 않음
제미나이한테 물어보니까 Scriptable Object는 asset이라 Scene에 있는 gameObject를 넣을 수 없대.
결국 Scriptable Object에서는 UnityEvent를 써도 수기로 이벤트 구독 및 해제를 해야 하는거임?
Player 사망 >> GameEvent(SO)에 전달 >> GameEvent에서 Event호출 >> UI등이 구독 및 반응
이런 구조임
SO로는 데이터 관리, 메서드 호출 정도만 하는게..
결국 Scriptable Object에서는 UnityEvent를 써도 수기로 이벤트 구독 및 해제를 해야 하는거임? 라고 제미나이한테 물어보셈
이건 이벤트버스에 스크립터블 오브젝트 도입해서 스크립터블을 채널처럼쓰는방식으로 많이 사용함
스크립터블 안에 이벤트 만들어놓고, 퍼블리셔, 구독 클래스가 각각 필드에 해당 스크립터블을 가지고있으면됨. 이상태에서 스크립터블을 통해서 각자가 퍼블리싱, 구독만하면되고. 유니티 이벤트까지 활용하고싶다면 구독측에서 유니티 이벤트가지고있는식으로해서 퍼블리셔가 발행하면 유니티이벤트까지 자동으로 호출되게하는식으로 하면 되고.
상상도 안 가는 영역이군
SOAP 에셋 강추 - dc App
https://unity.com/kr/how-to/architect-game-code-scriptable-objects#architect-events