* 내가 기억하기 위해 정리하는 내용이므로 현재 이 글의 정보가 부족할 수 있고 앞으로 관련 내용이 추가 될 수 있음
UniRx의 개념과 특징
- UniRx란, .NET ReactiveX 프레임워크를 Unity3D 에서 사용할 수 있도록 만든 라이브러리(Reactive Extentions for Unity 라이브러리)
- 시간과 관련한 처리, 비동기 처리와 같은 일을 손쉽게 다룰 수 있음
- 비동기적 데이터 흐름을 처리하는 프로그래밍 기법과 Observer 디자인패턴을 기반으로 설계됨
UniRx 사용
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
// Stream 을 Subject 로 등록(선언)
private Subject<int> m_OnClickBtn = new Subject<int>();
// OnXXXAsObservable() 생성하여 관찰
public IObservable<int> OnClickBtnAsObservable() => m_OnClickBtn.AsObservable();
// .OnNext() 를 사용하여 stream 에 데이터 통지
m_OnClickBtn.OnNext(data);
// Subscribe 하여 data 처리
OnClickBtnAsObservable().Subscribe(_ => Debug.Log("click")).AddTo(this);
|
cs |
출처
- gist.github.com/casamia918/93b8db69beb9ee06b92a96b2a234d48e
'└ Unity' 카테고리의 다른 글
[Unity] 애니메이션 종료 시점 이벤트 (0) | 2022.07.18 |
---|---|
[C#] 비트마스크(BitMask) 연산 및 활용 (1) | 2022.02.28 |