์ ๋ํฐ ์ฐ๋๋ฐ
ํ๋์๋ค๊ฐ ์ปฌ๋ผ์ด๋ ์ฌ๋ฌ๊ฐ ๋ถ์ฌ์ ์ฐ๊ณ ์ถ์๋ฐ
๊ด๋ฆฌ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋?
EX)
A ๋ ํํธ๋ฐ์ค
B ๋ ์ ์ด ๋ค์ด์ค๋ฉด ๊ฐ์งํ๋ ๋ฒ์
c ๋ ๋๋ฒํ ์์ญ
์ผ ๋ ์ด๊ฑฐ ํ ์คํฌ๋ฆฝํธ์์ ๊ด๋ฆฌ ๋ชปํด?
ํผ๋ธ๋ฆญ์ผ๋ก ์ธ์คํํฐ์์ ๋ฌ์์ฃผ๋ฉด ๋์์. ์ฝ๋๋จ์์์ ํ๋ ค๋ฉด child์ go 3๊ฐ ๋ง๋ค์ด์ ์ฝ๋ฆฌ๋ ๋ฌ์๋์ ๋ค์์ find("hitbox").getcomponent<์ฝ๋ฆฌ๋> ํ๋ ๊ฐ
์๋ ๋ฌ์์ค๋ค์์ oncollisionEnter ๊ฐ์ ์ด๋ฒคํธ ํจ์๋ฅผ ๋ชป์ฐ์์
๋ชป์ฐ๋๊ฑด ์๋๊ณ ์ด๋ค๊ฒ์ collision์ธ์ง ์ด๋ป๊ฒ ํน์ ํด?
a์ ๋ค์ด์ค๋ฉด ๋ญํ๊ณ b์ ๋ค์ด์ค๋ฉด ๋ญํ๊ณ ์ด๊ฑธ ๋ฌด์กฐ๊ฑด ์คํฌ๋ฆฝํธ ํ๋๋ก ํ๊ณ ์ถ์๊ฑฐ? ๊ทธ๊ฑฐ๋ฉด unirx์ .oncollisionenterasobservable().subscribe(ํ๊ณ ์ถ์ ๊ธฐ๋ฅ) ์ฐ๋๊ฐ ์๋๋ฉด ๋ธ๋ฆฌ๊ฒ์ดํธ ๋ฌ๋ ค์๋ coliderwrapper ํด๋์ค ๋ฌ์์ค์ parent์์ ์์ฑํ๋ ๊ฐ ๋ฑ๋ฑ
wrapper์ collisionenter()์์ @@@?.invoke(collision)๋ง ์ ์ด๋๊ณ parent์์ hitbox.@@@ ์ ํ๊ณ ์ถ์ ๊ฐ๋ฅ ๋ฃ์ด์ฃผ๋ฉด ๋ ๋ฏ
์ ์ดํด๊ฐ ์๋ unirx์ wrapper๋ ๋ค๋ฅธ๊ฑฐ์ผ?? ์ผ๋จ ๊ฒ์ํด๋ณด๊ณ ์ฌ๊ฒ ๋ด๊ฐ wrapper๋ฅผ ์ ๋ชฐ๋ผ
์๊ธฐ ์์ ์ด ๋๊ตฌ์ธ๊ฐ๋ฅผ ๊ฒ์ฌํด