Unity/Unity_Unirx
Unirx 사용해보기
CoPractice
2023. 10. 16. 19:04
이전 글에서 Unirx를 사용하는 이유에 대해서 간단히 살펴보았다. 그래서 지금은 직접 Unirx를 사용해 보도록 한다.
기본적으로 사용하기위해 데모 프로젝트에 유니티 에셋 스토어에서 Unirx를 다운로드 및 임포트하고 테스트 클래스를 생성합니다. 그리고 아래 using 지시문을 사용한다.
using UniRx;
public class TestDemo : MonoBehaviour
{
private void Start()
{
Subject<string> subject = new Subject<string>();
subject.Subscribe(str => Debug.Log($"{str} 테스트1"));
subject.Subscribe(str => Debug.Log($"{str} 테스트2"));
subject.Subscribe(str => Debug.Log($"{str} 테스트3"));
subject.OnNext("Unirx-1");
subject.OnNext("Unirx-2");
}
}
위는 간단하게 만든 테스트 코드이다. 무슨 내용인지는 차츰 살펴보도록하고 결과값을 확인하면 아래와같이 나온다.

어떻게 사용하는지는 대강 알것같지만 요목조목 따져보도록 한다.
Subject<string> subject = new Subject<string>();
Unirx는 하나의 스트림으로 구성되어있는데 Subject는 해당 스트림에서 이벤트를 호출하는 발행자로 볼 수 있다.
subject.Subscribe(str => Debug.Log($"{str} 테스트1"));
위 발행자에 Subscribe를 사용하여 이벤트를 구독해 줄 수 있다. Subscribe는 LINQ 또는 람다식으로 간편하게 구현이 가능하다.
subject.OnNext("Unirx-1");
마지막으로 OnNext를 사용하여 메시지를 보내어 이벤트를 호출시킨다.
위처럼 이벤트를 호출하는 발행자, 이벤트를 구독하는 구독자, 메시지를 수신하는 수진자의 형태로 이루어져 있다.