์ด๋ถ ์์๋ค ์นจ๋ ๋์ ์๋ ๋ง๋ค ํํ์ดย ๋ณด๊ณ ์๋๋ฐ
์ด์ ๋ฐค์ ์ ๋๋ฉ์ด์
์ฌ์ด๋ ๋ฑ ์๊ฐ์ ์ธ ๋ถ๋ถ๋ค ECS๋ก ๊ตฌ์ฑํ๋ฉด ์คํ๋ ค ๊ด์ฐฎ์ง ์๋? ์๊ฐํ๊ณ ์ค์
๊ทผ๋ฐ ๊นจ์ ์๊ฐํด๋ณด๋,ย ๊ฒฐ๊ตญ ์ฒ๋ฆฌํ ๋ด์ฉ์ oop๋ก ๋ง๋ค์ด์ง ๋
ธ๋๋ก ํ ์คํด์ค์ผ ํ๋๋ฐ
๊ทธ๋ฌ๋ฉด ์ฑ๋ฅ์ ์ด๋์ด ์ ๋ง ์ ์๋ฏธํ๊ฒ ์๋? ์ด ์๊ฐ ๋ค์์ ์์ ์ ๋ดค์๋ย ์ ๋ํฐ ECS๋ ์ค๋ธ์ ํธ ๋ธ๊นํ์๋ ui๋ถํฐ ๋ค๋ฅด๊ณ , ๊ณ ๋๋ ECS ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ๋ก ์๋๋ฐ
๋ญ ์ฌ์ค ์ฑ๋ฅ์ด ๊ทธ๋ ๊ฒ ์ค์ํ ๊ฒ ๋ง๋ค๊ณ ์๋๊ฑด ์๋๋ฐ ๋จน๊ณ ์ด๋ง ํด์ง๋ฉด ๋ง๋ค๊ณ ์ถ์๊ฒ ์๋ฎฌ๋ ์ด์ ๊ฒ์ด๋ผ ์๊พธ ์ฐพ์๋ณด๊ฒ ๋๋๋ผ
๊ทธ๊ธธ์ ๊ฐ์ง๋ง๋ผ
ํน์ ๋ถ๋ถ์ ๊ด๋ฆฌํ๊ธฐ ํธํ ๊ฑฐ ๊ฐ์์
์ค๋์ค๋ ๋น์ฅฌ์ผ์ด๋ ์์ ECS๋ก ์ง ๋ค๊ณ ํด๋, ๊ฒฐ๊ตญ ๊ทธ๊ฑธ ์ฒ๋ฆฌํด์ฃผ๋ ๋ถ๋ถ์ System์ ๊ตฌํ๋์ด ์์ํ ๋ฐ. ์ง์ ๊ตฌํํ ๊ฒ ์๋๋ผ๋ฉด ๊ทธ System์ด ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ ๊ทผํด์ ๋์ ์ฒ๋ฆฌ๋ฅผ ๋งก๊ธฐ๊ฒ ์ง. ๊ฐ๋ น AudioClipPlay๋ผ๋ ์ปดํผ๋ํธ๋ฅผ AudioSystem์์ ์ฒ๋ฆฌํ๋ค๋ฉด, ๊ทธ ์์คํ ์์ OpenAL๋ก ๋ฐ์ดํฐ๋ฅผ ๋๊ฒจ์ ์ฒ๋ฆฌํ๋ค๋์ง ํ ๊ฑฐ๊ณ Mesh ์ปดํผ๋ํธ๋ RenderSystem์์ OpenGL์ด๋ Metal๋ก ์ ๊ทผํด์ ๋ ๋๋ง์ ํ๋ค๋๊ฐ.
์ฌ์ฌํด์ ํด๋ณด๋๊ฑฐ๋ผ๋ฉด ์๊ด์์ง๋ง, ๋ช ํํ ๋ชฉํ๊ฐ ์๋ํ ECS์์ฐ๋๊ฒ ๊ฑด๊ฐ์ ์ด๋ก์
๋ฅํ๊ฒ ๊ด๋ฆฌํ์ง ์์ผ๋ฉด ์ฑ๋ฅ์ ์ด๋์ด ์ผ๋ง๋ ๋๋ ๊ฐ์ด ์ ๋งคํ๊ฒ ์กํ์ ๊ทธ๋ฌ์ ์๋ฅผ ๋ค์ด์ ๊ณ ๋์์ 1๋ง ๊ตฐ๋จ์ ๋์ถฉ ๋ ๋๋ง ํ๋ค ํ ๋ ๋ด ์ฝ๋๋ณด๋ค ๊ณ ๋ ๋ค์ดํฐ๋ธ ์ฝ ๊ทธ๋ฌ๋๊น ๊ณ ๋ api์ชฝ์ด ์๊ฐ ๋๋ถ๋ถ ์ก์๋จน๋๋ผ๊ณ ๋ฐ๋ฉด์ ์ ๋ํฐ์์ dots ๊ธฐ๋ฐ nsprite ์ฐ๋จนํ ์ ์๋๋ฐ ๋น์ทํ ์คํํ ์ ์ ์์ง๋ง ๊ด์ฐฎ์๋ ๊ธฐ์ต์ด ์์
๋ชฉํ๋ผ ํ๋ค๋ฉด ๊ฒ์ ๋ด๋ถ ๋ก์ง์์ ๊ฒ ๋๋ฆฌ๊ณ ๋ณด๋ด๋ ์๊ทธ๋ ์ฒ๋ฆฌํ๋๊ฑธ ์ข ๊ด๋ฆฌํ๊ธฐ ํธํ๊ฒ ์ง๋ณด์ ์ด๊ฑฐ์ ์ ๋ํฐ์์๋ ์ง์ง ์ต์ง๋ก ๋์๊ฐ ์ ๋๋ก๋ง ์งฐ์์
๊ทธ๋ฐ๊ฑฐ๋ฉด ์ฐ๋จนํด๋ณผ๋งํ๊ธดํ๊ฒ๋ค