ํจ์ํ์ด๋ ๋ฐ์ํ์ด๋ ์ด๋ฐ ์ด๋ ค์ด ๋จ์ด๋ก ์ ๊ทผํด์ ๊ทธ๋ผ
์ด๋ฒคํธ+ํธ์ ์ ํธ = R3 ์ด๋ ๊ฒ ์ ๊ทผํ๋ฉด ๋จ
๊ฑ ๋ด๊ฐ ์ง๊ธ ํ๋ก์ ํธ์์ ์ด๋ฒคํธ ์ด๋ค (์ ๋ํฐ ์ด๋ฒคํธ๋ ย Action์ด๋ ) ๋ฉด ๊ทธ ๋ถ๋ถ๋ง R3๋ก ๋์ฒดํ๋ฉด ๋จ
๋ง ์คํผ๋ ์ดํฐ ์ฒด์ด๋ ๋ช๋จ์ผ๋ก ํด๊ฐ๋ฉฐ Rx๋ก ๋ชจ๋ ๊ฑธ ๋ง๋๋ ค๊ณ ๋๋๊น ๋ํดํ๊ณ ์ด๋ ต๊ณ ๋๋ฒ๊น ํ๋ค์ด ๋ณด์ด๋๊ฑฐ์
ํ๋ฆ์ ์ด ๊ณ์ฐ ์ด๋ฐ๊ฑด UniTask๋ Linq๊ฐ ํจ์ฌ ์ํ๊ณ ๋๋ฒ๊น ๋ ์ฌ์ฐ๋๊น Rx๋ก ํ ํ์ ์์
์ฒด๋ ฅ ๋น ์ง๋ฉด-์ฒด๋ ฅ ์ ์์ด๊ฐ ๋ฐ์ํ๋ค
๋ฒํผ ๋๋ฅด๋ฉด-์บ๋ฆญํฐ๊ฐ ๋ฐ์ํ๋ค
ํ๋ชน ๋ค ์ก์ผ๋ฉด-ํ์คํธ๊ฐ ์๋ฃ๋๋ค
์ ํ์ง ๊ณ ๋ฅด๋ฉด-๊ณ ๋ฅธ ์ ํ์ง์ ์คํ ๋ฆฌ๊ฐ ์์๋๋ค
๊ฑ ์ด๋ฐ Action์ด ํ๋๊ฑฐ์๋ง ์ฐ๋ฉด ๋๊ณ
์คํผ๋ ์ดํฐ๋ 3๊ฐ๋ง ์๋ฉด ๋จ
์ฐ๋กํ=์ค๋ณต ํด๋ฆญ๋๋๊ฑฐ ๋ง๊ณ ์ถ์๋
๋จธ์ง=ํค๋ณด๋ ๋๋ฅด๋๊ฑฐ๋ ์ ์์ด ๋ฒํผ ๋๋ฅด๋๊ฒ ๊ฐ์์ผ ํ๊ฒ ํ๊ณ ์ถ์๋ ๋์ด ํฉ์น๊ธฐ
์ปด๋ฐ์ธ ๋ ์ดํฐ์คํธ= ํ์คํธ ์๋ฃ์กฐ๊ฑด์ด ์ฌ๋ฌ๊ฐ์ผ๋ ์ฌ๋ฌ๊ฐ์ ์๋ฃ์กฐ๊ฑด๋ค ํฉ์ณ์ ๋ฐฐ๋ฌ
์ด 3๊ฐ๋ ๋ฐฐ์๋๋ฉด ๊ฒ์์์ ์ค์ ๋ก ์ธ์ผ ๋ง๊ณ ๊ฐ์ฑ๋น ์ข์
๋ค๋ฅธ๊ฒ๋ ์ํฉ์ ๋ฐ๋ผ์ ์ ์ฉํ๊ธด ํ๋ฐ ๊ฐ์ฑ๋น๊ฐ ๋ณ๋ก์
์ฐ๋กํ ๋จธ์ง ์ปด๋ฐ์ธ ๋ ์ดํฐ์คํธ ๋ง๊ณ ๋ค๋ฅธ ์์ญ๊ฐ ์ฐ์ฐ์๋ค ๋ฐฐ์ธ ์๊ฐ์
UniTask๋ DoTween, ย linq๋ฐฐ์ฐ๋๋ฐ ์๊ฐ ํฌ์ํ๋๊ฒ ์ด๋์ผ ํ๋ฅ 90%
๋ฌผ๋ก UniTask๋ linq dotween ํ์ํ ๋งํผ ๋ฐฐ์ ๋๋ฐ ์๊ฐ์ด ๋จ๋๋ค ๊ทธ๋ฌ๋ฉด ๋ฐฐ์๋๋ฉด ํธํ๊ธฐ๋ฅ ๋ง๊ธดํจ
๋ฑ UI์ ์ฐ๋ ๊ฒ ์ ๋นํ ๋ฏ ๊ทธ ์ด์ ๋ฒ์์์ ์ฐ๋ ค๊ณ ํ๋ฉด ๋ณต์กํด์ง๊ธฐ๋ง ํด์ ๋๋ ํ๋ฆฐ ๋ฏ์ด ์ฝ๋ฉํ๋ค๊ฐ ๋ ๋ฒ์ ๋์ด๊ฐ๋ค ์ถ์ผ๋ฉด ์ฌ๊ณ ํ๊ณ ๋ค์ ์ง์ฐ๋ ํธ์
Action ๊ต์ฒดํ๋ฉด์ ์์ ์ค์ธ๋ฐ ๋๋ชจ ๋ง์์ ๋ฆ.
๋ณธ์ธ์ ๋ก์ง์ฉ presenter : IDisposable, view : MonoBehaviour๋ก ๊ตฌ์ฑํ๊ณ view.OnDestroyAsObservable์ presenter Dispose ์ฐ๊ฒฐํด์ ํ๊ดด ํ์ด๋ฐ ๊ณต์ ํ๊ฒ ํจ