์ฌ์ StageObj๋ฅผ ๋ฆฌ์คํธ๋ก ๊ด๋ฆฌํ๋ ํด๋์ค StageManager๊ฐ ์๊ณ ,
StageObj ํด๋์ค๋ ์ถฉ๋์ ๊ฐ์ฅ ๋ฉ๋ฆฌ ์๋ StageObj ๊ทผ์ฒ๋ก ์๊ฐ์ด๋ ํ๋ค๊ณ ํ ๋
์๋์ ์กฐ๊ฑด์ ๋ง์กฑํ๋๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ค๊ณ ํ์
1. ๊ฐ์ฅ ๋ฉ๋ฆฌ ์๋ ๋์์ ์ฐพ๊ธฐ ์ํด์ StageManager์ ๋ฆฌ์คํธ์ ์ ๊ทผํด์ผํจ
2. ๊ทธ๋ฌ๋ฉด์๋ StageObj ํด๋์ค๋ StageManager์ ์ง์ ์์กดํ์ง ์์์ผ ํจ
๊ทธ๋ ๋ค๋ฉด ๋ณดํต์ ์๋์ฒ๋ผ ๊ตฌํ์ ํ๋๊ฒ ๋ง์?
1. StageManager์ ๋ฆฌ์คํธ์ ์ ๊ทผํด์ ๋ฉ๋ฆฌ ์๋ ๋ฌผ์ฒด๋ฅผ ์ฐพ์ ์๊ฐ์ด๋ ํ๋ ๋ก์ง์ TeleportStrategy๋ผ๋ ์คํฌ๋ฆฝํฐ๋ธ ์ค๋ธ์ ํธ๋ก ๋ง๋ฌ
2. StageObj์ OnCollisionEnter ์์ TeleportStrategy.Execute ํธ์ถ
์๋๋ฉด ์ด ๋ฐฉ๋ฒ์ด ๋ง๋๊ฑฐ ๊ฐ์?
1. StageObj ์ ๋ฉค๋ฒ๋ก public event Action onCollisionAction ์ ์ ์
2. ์์ ํด๋์ค (ex : ๋งค๋์ ํด๋์ค ๋ฑ)์์ StageObj.onCollisionAction์ ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ์ถ๊ฐ
์๋๋ฉด ์ด ๋ ๋ฐฉ๋ฒ๋ณด๋ค ๋ ๋์ ๋ฐฉ๋ฒ์ด ์์๊น?
๋ณธ์ธ์์ด๋ผ๋ฉด ํ์๋ก ํจ
'์ข๊ณ ์๋ง ๋ต๋ณ์ข'
ํ ๋ ํฌํธ๋๋๊ฒ ์ฌ๋ฌ ์ข ๋ฅ์ ๋์ ์ค ํ๋๋ผ๊ณ ํ๋ฉด, ์ธํฐํ์ด์ค ๋ง๋ค๊ณ SO๋ก ๋ง๋ค์ด์ ๊ฐ ์ข ๋ฅ์ StageObj๋ง๋ค ์ํ๋ ๋์์ ๋ถ์ด๋๋ก ๋ง๋ค ๊ฒ ๊ฐ์
๋น๋์๋ก ๊ฒฐ์ ํ๋ฉด ์ข์ ๋ ๋์ถฉ 3๋ฒ์ ๋ ์ด์ ๋ง๋ค์ด์ง๊บผ๊ฐ์ผ๋ฉด ํด๋์ค๋ ์์์ ์ถ๊ฐ๋ฅผ ํ๋ค๋๊ฐ ๊ทธ๋ฌ๋๋ฐ ๋ฆฌ์คํธ์ ์ ๊ทผํ๊ณ stageObj๋ฅผ ๋ ํ ๊บผ๊ฐ์ ๊ธฐ๋ถ์ด ๋ ๋ค ๊ทธ๋ฌ๋ฉด ์ ์๋ก ์ ๋ฐ ์ก์ ์ด ๋ ๋์ฌ๊บผ๊ฐ์ ๊ธฐ๋ถ์ด ๋ ๋ค ๊ทธ๋ฌ๋ฉด ํ์๋ก ๋น๋๊ฐ ๋ง์์ชฝ์ผ๋ก ํจ์๋ ํด๋์ค๋ฅผ ๋๋ ค๊ฐ๋ ์ข์๋ฏ
ํ๋ฒ ํ๋ ํ๋์ผ๋ก๋ ์๋ฅผ ๊ตฌํํ๋ ์๋๋ฅผ ๊ตฌํํ๋ ์ฐจ์ด์์๊บผ์ผ
์์กด์ ์ ๊ฒฝ ์ฐ๋ ๊ฒ๋ ์ข์ง๋ง ์์กด์ด ๋์ด์ผ ํ ๊ฒ์ ์์กด์ ์ต์ง๋ก ๋นํ์ด ๋นผ๋ฉด ์ฝ๋๊ฐ ๋ณต์กํด์ง๊ฑฐ๋ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง ์ ์์๋๋ค [์ง์ ์์กด]์ด๋ฏธ ๋ฆฌ์คํธ๋ก ๊ด๋ฆฌ๋ฅผ ํ๊ณ ์๊ณ , ์ด ๋ฆฌ์คํธ๋ก ๊ตฌํ์ด ๊ฐ๋ฅํ ๋ถ๋ถ์ด๋ฉฐ, StageObj๋ StageManager๊ฐ ์๋ ํ๊ฒฝ์ ์์ ์ ์๋ ๊ฒ์ผ๋ก ๋ณด์ด๋๋ฐ StageObj์์ StageManager์ FarObj๋ฅผ ๋ฐ์์ค๋ฉด ๊ด์ฐฎ์ง ์์๊น์? [์์กด X]๋ง์ฝ StageObj๊ฐ StageManager๊ฐ ์๋ ํ๊ฒฝ์๋ ์์ ์ ์๊ณ , ๋จผ ์ค๋ธ์ ํธ๋ฅผ ๋ฐ์์์ผ ํ๋ค๋ฉด, Tag๋ฅผ ์ฌ์ฉํด์ ์ฐพ์๋ด๋๊ฐ, ๊ณ์ํด์ ์ฌ์ฉํด์ผํ๋ค๋ฉด ์ด๊ธฐ์ ์บ์ฑํด์ ์ฌ์ฉํ๊ฑฐ๋ ํ๋ ๊ฒ ๊น๋ํ๊ณ ๊ฐ๋ ์ฑ์ ๋์ผ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ฒซ ๋ฒ์งธ์ ๋ฐฉ๋ฒ์ ์ด๋ฏธ StageObj์์ StageManager๋ฅผ