ํ๋ฆฌํน ์์ฑ๋๋ฉด
ํ์ ๋ฃ์ด๋๊ณ
์ฌ์์ฑ ์์ฒญ์์ผ๋ฉด ํ์ ์๋์ง ์๋์ง ๋น๊ตํ ๋ผ๋๋ฐ
Xxx(Clone) ์ด๋ฐ์ด๋ฆ์ผ๋ก ์์ฑ๋์๋?
๊ทธ๋์ ์๋ ํ๋ฆฌํน ๋ค์์ ์คํธ๋ง(clone) ๋ถ์ฌ์ ์๋ ์๋ ํ์ธํ๊ณ ์๋๋ฐ.
๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์์ผ๊น?
GetinstanId์จ๋ดฃ๋๋ฐ ์ด๊ฑด ์๋๋ค...
์คํธ๋ง ์ผ๋ก ๋ฐ๊ตํ๋๊ฑฐ ๋ง๊ณ ๊ทธ๋ฅ ๋ค๋ ์ผ๋ก ๋น๊ตํ๊ณ ์ถ์.
List.contain(prefab) ์ด๋ฐ์์ผ๋ก.
ํ์ ๋ฃ์ด๋๊ณ
์ฌ์์ฑ ์์ฒญ์์ผ๋ฉด ํ์ ์๋์ง ์๋์ง ๋น๊ตํ ๋ผ๋๋ฐ
Xxx(Clone) ์ด๋ฐ์ด๋ฆ์ผ๋ก ์์ฑ๋์๋?
๊ทธ๋์ ์๋ ํ๋ฆฌํน ๋ค์์ ์คํธ๋ง(clone) ๋ถ์ฌ์ ์๋ ์๋ ํ์ธํ๊ณ ์๋๋ฐ.
๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์์ผ๊น?
GetinstanId์จ๋ดฃ๋๋ฐ ์ด๊ฑด ์๋๋ค...
์คํธ๋ง ์ผ๋ก ๋ฐ๊ตํ๋๊ฑฐ ๋ง๊ณ ๊ทธ๋ฅ ๋ค๋ ์ผ๋ก ๋น๊ตํ๊ณ ์ถ์.
List.contain(prefab) ์ด๋ฐ์์ผ๋ก.
์ด์ฐจํผ ์ ๋ค๋ฆญ ๋ฆฌ์คํธ๋ผ๋ฉด ํด๋น ํ์๋ ํด๋น ํด๋์ค ๋ฐ์ ๋ชป ๋ค์ด๊ฐ์์. ๊ทธ๋ฌ๋ฉด ๊ฑ List.Any() ๋ก ๊ฐ๋ฅํ์ง ์์?
ํ๋ง ์ฐ๋ ค๋ ๊ฑฐ๋ฉด ํ์ ๋ฃ๊ณ ๋นผ๊ณ ํ๋ฉด ๋ ํ ๋ฐ ์ด๋ฆ ๋น๊ต๋ฅผ ์ ํ๋ฌ๋๊ฑด์ง๋ ์ ๋ชจ๋ฅด๊ฒ ๋ค
๊ทธ๊ฑฐ ๋ง๋ค๋ ์ด๋ฆ์ ํด์ค์์์. ๋๋๋น์ทํ๊ฒฝ์ฐ์ธ์ง๋ชจ๋ฅด๊ฒ๋ค ์ํผ name์ ์๊ธฐํ๋ฆฌํฉ์ด๋ฆ์ผ๋กํ๋ฉด๋ ๊ฑธ
ํ๋ฆฌํน์ด ํ์ข ๋ฅ๊ฐ ์๋๋๊น... list<gameobject> ์ฐ๊ฑฐ๋ .
์ค...์ด๋ฆ์ ํ๋ฆฌํฉ์ด๋ฆ์ผ๋ก ์ง์ ํด์ฃผ๋ฉด list.contain์ด ๋จน๋? ํด๋ด์ฌ๊ฒ๋ค ๋กํ
ํ๋งํ ๋. ํ์ ๋ค์ด๊ฐ ์ค๋ธ์ ํธ ์ข ๋ฅ๊ฐ ํ๋๊ฐ ์๋๋ฉด ๋๋จ ์ด๋ป๊ฒ ํ๋๋ฐ? ํ์ข ๋ฅ๋ฉด ๊ณ ๋ฏผํ ๊ฑฐ๋ฆฌ๋ ์์ง๋ง. ์ค๋ธ์ ฏํธ๋ณ๋ก ํ์ ๋ฐ๋ก ๋ง๋ค๊ธฐ์๋ ์ข ๋ฅ๊ฐ ๋๋ฌด ๋ง์๊ฑธ.
ํ๋ ์ ๋ค๋ฆญ ๊ตฌ์กฐ๋ก ๋์์ํ ๋ฐ ๋ญ๊ฐ ๋ฌธ์ ์
๋ ๋๊ฐ ์ง๋ฌธ์์ง๋ฅผ ๋ฐ๋ก ๋ดค๋์ง ๋ชจ๋ฅด๊ฒ ๋ค. ์๋ ๊ทธ๋ฅ ์ง๋๊ฐ๋ค ๊ฐ์๋ฆฌ ํ๋ฒ์ธ๋์ง. ๋ด๊ฐ ๋ญ๋ชจ๋ฅด๊ณ ์๋ ์ง ๋์คํ๋๊ฒ ์ง.
ํ์ ๋ฐ๋ก ๋ง๋๋๊ฒ ๋ญ๊ฐ ๋ฌธ์ ๋๋๊ฑฐ์ง ์ ํ๋์ ํ์ ๋ค๋ฅธ ์์ฑ์ ์ค๋ธ์ ํธ๋ฅผ ๋ฃ์ด๋๋ ๋ณ์ ๊ฐ์ ์ง์ ํ๋๊ณ ํ์์ ๋น๊ตํ๋ค๋๋ฐ ๊ทธ๋ผ ํฌ๊ธฐ ๋์ด๋๋ฉด ์คํ๋ ค ๋นํจ์จ์ ์
๋ณ์ ์ด ๋ง๋ฐ๊พธ๊ณ ์์๋ค. ๋ด๋ถํฐ ๋ชจ๋ฅด๋ฉด ๊ฑ ๋ฅ์น๊ณ ์๋๊ฐ ํด๋ผ
์ด๊ฒ ๊ฐ์ ๊ฐ๋ ๋ฅผ ๋๊ณ ๋ต๋ณํ๋ค๋๊ฑธ ์ดํด๋ชปํ๋ค๋ ๋ ์์ค์ด ๋ณด์ด๋ค
112.171์ ์ ๋ฌ๊ธ์์ด ์๋จน์๊ฑฐ์
์ด๋ฆ๊ฐ์๋ ๊ฐ์ ์ค๋ธ์ ์ผ๋ก ์ธ์์ด ์๋๋ค. ใ
๋ ๋๊ฐ ์ง๋ฌธ์์ง๋ฅผ ๋ฐ๋ก ๋ดค๋์ง ๋ชจ๋ฅด๊ฒ ๋ค. ์๋ ๊ทธ๋ฅ ์ง๋๊ฐ๋ค ๊ฐ์๋ฆฌ ํ๋ฒ์ธ๋์ง. ๋ด๊ฐ ๋ญ๋ชจ๋ฅด๊ณ ์๋ ์ง ๋์คํ๋๊ฒ ์ง.
๋๊ฐ์๊ฒฝ์ฐ ์ค๋ธ์ ํธ๋ฅผ ์ผ์ ๋ ์์ฑํ๊ณ ์์ง์คํฐ๋์ง ์์ ์ค๋ธ์ ํธ๋ฐฐ์ด์ ๋ฃ์ด๋ ์คํฐ์ด ์๋ฃ๋๋ฉด ์คํฐ๋ ์ค๋ธ์ ํธ๋ฐฐ์ด์ ๋ฃ์ด๋๊ณ ๋ง์ฝ ์ค๋ธ์ ํธ๊ฐ ๋์ด์ ์ฌ์ฉ๋์ง์์ผ๋ฉด ์คํฐ๋์ง์์ ์ค๋ธ์ ํธ๋ฐฐ์ด์ ๋ค์๋ฃ์ด๋
๋ ์ค๋ธ์ ํธ ์ข ๋ฅ๋ณ๋ก ๋ณ๋์ ํ์ ๋ง๋ค์ด์ ์. ํ ๊ฐ์๊ฐ ๋ง์์ง ์ ์์ง๋ง, ํ๋ง์ด ํ์ํ ๊ฒ์ค๋ธ์ ํธ๋ ๋ช ์ข ๋ฅ ์๋๋๊น. (ํน์ ๊ณผ๋ํ๊ฒ ํ๋ง์ ํ๊ณ ์๋ค๋ฉด, ํ๋กํ์ผ๋ง ๋๋ ค๋ณด๊ธธ ๊ถํจ)
๋ด๊ฐ ์ฐ๋ ๋ฐฉ๋ฒ์ ObjectPool<T> ๋ง๋ค์ด๋๊ณ ์์ฑ์๋ฅผ ์ค๋ธ์ ํธ๋ฅผ ๋ฆฌํดํ๋ ํ์ ์ ๋ธ๋ฆฌ๊ฒ์ดํธ ํ๋ ์์ฑ ํ
๋ฐฉ๊ธ ๋ง๋ ํ์ ์ผ๋ก ์์ฑ์๋ฅผ ๋ฐ์ ํ ๋ค๋ฅธ ์ปดํฌ๋ํธ์์ ์ค๋ธ์ ํธ๋ฅผ ๋ง๋๋ ํจ์๋ฅผ ์ธ์๋ก ๋๊ฒจ์ฃผ๋ ๋ฐฉ์์ผ๋ก ์
๋ง๋ค๋ ๊ทธ๋ฅ O(N)์ผ๋ก ๋ฆฌ์คํธ ์ํํ๋ฉฐ ๊ฒ์ฌ ํ ์์ผ๋ฉด ๋ง๋ค๊ณ ์์ผ๋ฉด ์