๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ์ ๋ํฐ์์ ์ฌ์ฉํ๋ C# ์ฑ๊ธํด.
(๋์๋ ํฐ์คํ ๋ฆฌ์ ์ฝ๋๋ธ๋ญ๊ฐ์๊ฒ ์์ด์ ๊ฑ ๋ด๊ฐ ์ฐ๊ณ ์ ์บก์ณํด์ด ใ ใ )
์ฐธ๊ณ ๋ก ์ ์ฝ๋๋ Lazy Initialization(๊ฒ์ผ๋ฅธ ์ด๊ธฐํ)๋ฅผ ์ ์ฉํ ๋ฐฉ์์ธ๋ฐ ์ด๊ฑฐ๋ ์๋์์ ์ค๋ช ํจ
class UIManager : Singleton<UIManager> { } ์ฒ๋ผ ์ฑ๊ธํด์ ์์๋ฐ์ UIManager ํด๋์ค๋ฅผ ๋ง๋ค๊ณ
๋ค๋ฅธ ์คํฌ๋ฆฝํธ์์๋ UIManager.Instance.ShowStatus() ์ด๋ฐ ์์ผ๋ก ์ฝ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ.
ํํ๋ค ์ฑ๊ธํด์ ์ํฐํจํด์ด๋ค ๋ญ๋ค ํ๋ฉด์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ง์ํด์ผํ๋ ์ฝ๋๋ผ๊ณ ๋ง์ด ํจ
์ผ๋จ ์ฅ์ ์ ๋ํด์๋ ๋ฐ๋ก ์ค๋ช ์ํ๊ฒ ์. ๊ตฌ๊ธ๋งํ๋ฉด ๋์ค๋ ๋ํ์ ์ธ ๋จ์ ์ธ ๊ฐ์ง์ ๋ํด์ ๋ฐ๋ฐํด๋ด.
(1) ๊ฐ์ฒด์งํฅ ์์น์ด ํ๊ดด๋๋ค. ํด๋์ค๊ฐ์ ๊ฒฐํฉ๋๊ฐ ๋์์ ธ์ ๊ฐ์ฒด์งํฅ์ ์ด๋ฃจ๋ ๋ฐฉ๋ฒ ์ค ํ๋์ธ ๋ชจ๋ํ์ ์คํจํ ์ ์๋ค.
๋ง๋ ๋ง์ด๊ธดํจ. ์ ์ผ ํฐ ๋จ์ ์. ์ฑ๊ธํด ํด๋์ค ๋ด๋ถ์ ์๋ ๋ณ์์ ํจ์์ ์ฝ๊ฒ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค๋ณด๋
A์์ B์ ๊ทผ, B์์ C์ ๊ทผ, C์์ A์ ๊ทผ๊ณผ ๊ฐ์ ์ฝ๋๊ฐ ๋ง๋ค์ด์ง ๊ฐ๋ฅ์ฑ์ด ๋๊ธดํจ
๊ทผ๋ฐ ํด๋์ค ๊ฐ์ ์์กด์ฑ์ ๊ตณ์ด ์ฑ๊ธํด์ด ์๋์ด๋ ํ๋ก๊ทธ๋๋จธ์ ์ค๋ ฅ์ ๋ฐ๋ผ์ ๋ฐ์ํ ์๋ ์๊ณ ์์ฒ ์ฐจ๋จ๋ ์๋ ์๋ค๊ณ ์๊ฐํจ
์๋ฅผ ๋ค์ด์, ์ฑ๊ธํด ํด๋์ค์ธ UIManager์ UpdateStatusUI()๋ผ๋ ํจ์๊ฐ ์๋ค์น์.
ํ๋ ์ด์ด์ HP, MP๋ฅผ ํ์ํ๋ UI๋ฅผ ๊ฐฑ์ ํด์ฃผ๋ ํจ์์.
์ด UpdateStatusUI ํจ์ ์์์ ๋ ๋ค๋ฅธ ์ฑ๊ธํด ํด๋์ค์ธ PlayerStats์ ์ ๊ทผํ๊ธฐ ๋ณด๋ค๋
์ด๋ฐ์์ผ๋ก ๋ฐ๊พธ๋ ค๋ ์คํ ์ key(HP์ธ์ง MP์ธ์ง)์ value๊ฐ์ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์์ ์ฒ๋ฆฌํ๋ ๊ฒ์
์์ฃผ ๋จ์ํ ์์๊ธดํ๋ฐ '์ฑ๊ธํด ํด๋์ค ์์์๋ ๋ค๋ฅธ ํด๋์ค์ ์ ๋ ์ ๊ทผํ์ง ์๋๋ค'๋ผ๋
์์น์ ์งํจ๋ค๋ฉด ๊ฒฐํฉ๋, ์์กด์ฑ ์ด๋ฐ ๋ฌธ์ ๋ ํฌ๊ฒ ์์๊ฑฐ๋ผ๊ณ ๋ด.
(2) ๋จ์ ํ ์คํธ๊ฐ ์ด๋ ค์์ง๋ค.
๋จ์ ํ ์คํธ? ๋์ถฉ์ ์์ง๋ง ํด๋ณธ์ ์ ์์ด์ ๊ตฌ๊ธ๋ง์ ํด๋ดค๋ค.
A ํจ์๋ฅผ ํ ์คํธํจ์ ์์ด์ ๊ทธ ๊ฒฐ๊ณผ๊ฐ B ํจ์๋ฅผ ํ ์คํธํ ๋ ์ํฅ์ ๋ผ์น๋ฉด ์๋๋ค๊ณ ํ๋ค.
๊ทผ๋ฐ ์ฑ๊ธํด ํจํด์ ์ฐ๋ฉด ํ๋์ ๊ฐ์ฒด๋ฅผ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ์ํฅ์ ๋ผ์น ์ ๋ฐ์ ์๋ค.
์๋ฅผ ๋ค์ด, UIManager๋ฅผ ํ ์คํธํด๋ณด๋ ๊ฒ์ด ๋ชฉ์ ์ด๋ผ๋ฉด
A ํจ์์์ new UIManager๋ฅผ ์์ฑ(์ธ์คํด์คํ)ํด์ ์คํํด๋ณด๊ณ , B์์๋ ๋ค์ ์์ฑํด์ ํ ์คํธํ๋ฉด ๋์ธ๋ฐ
UIManager๊ฐ ์ฑ๊ธํด์ด๋ฉด A ํจ์์์ UIManager์ ๋ณ์๋ฅผ ์กฐ์ํ ๊ฒ์ด B์์ UIManager์ ์ ๊ทผํ์ ๋ ๊ทธ๋๋ก ์ ์ง๊ฐ ๋์ด์๋ค.
์... ์ด๋ฐ๊ฒ ๋จ์ ํ ์คํธ๋ผ๊ณ ๋ ํ๋๋ฐ...
์คํ๋์ค๊ฐ ์ ๊ณตํ๋ ๋๋ฒ๊น ๋ง์ผ๋ก๋ ๋ถ์กฑํด์ ์ถ๊ฐ ํ ์คํธ๋ฅผ ๊ฑฐ์น๋, ๊ฒ์์ด ์๋ ํ๋ก์ ํธ๋ผ๋ฉด ๋ชจ๋ฅด๊ฒ ์ง๋ง
์ผ๋ฐ์ ์ธ ์ธ๋ ๊ฒ์์์๋ ์ด๋ฐ ๋จ์ ํ ์คํธ๊ฐ ํ์ํ๊ฐ ์ถ๋ค.
๊ฒฐ๊ตญ ์ฑ๊ธํด์ ์ฐ์ง ๋ง์์ผํ๋ ์ด์ ๋ก์๋ ํ์ค์ฑ์ด ๋จ์ด์ง๋ค๊ณ ์๊ฐํ๋ค.
(3) ๋ฉํฐ์ฐ๋ ๋ ํ๊ฒฝ์์ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์๋ค.
์๋ฅผ ๋ค์ด A ์ฐ๋ ๋์ B ์ฐ๋ ๋๊ฐ ๋์์ ํ๋์ ๊ฐ์ฒด์ธ UIManager์ ์ ๊ทผํด์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ค๋ฉด?
๋ญ ์ด๋ฐ๊ฑฐ ๋๋ฌธ์ ์ฑ๊ธํด ํด๋์ค ์์์ Instance๋ฅผ ๋ฐํํ๋ ํจ์(get)์ lock์ ๊ฑธ๊ธฐ๋ ํ๋๋ฐ
์ค์ํ๊ฑด ๋๋ถ๋ถ ์ ๋ํฐ์์ ์ฑ๊ธํด ํด๋์ค๋ MonoBehavior๋ฅผ ์์๋ฐ์์ ๋ง๋ ๋ค.
๋ชจ๋ ธ๋ ์ ๋ํฐ์ ๋ฉ์ธ ์ฐ๋ ๋(Awake, Start, Update ์๋ช ์ฃผ๊ธฐ ํจ์๋ค ์คํํ๋ ๊ทธ ๋ ์)์์ ๋๊ธฐ ๋๋ฌธ์
๋ฉํฐ์ฐ๋ ๋ ํ๊ฒฝ์์ ๋ฐ์ํ ๋ฌธ์ ๋ค์ ๊ณ ๋ คํ์ง ์์๋ ๋๋ค.
'์ ๋ํฐ๋ ๋ฉํฐ์ฐ๋ ๋๋ฅผ ์ ํ ๊ณ ๋ ค์ํด๋ ๋๋ค'๋ผ๋ ๋ง์ด ์ฌ๊ธฐ์ ๋์ค๋ ๊ฒ์ด๊ณ
์ด ์ญ์ ์ฑ๊ธํด์ ์ฐ๋๋ฐ์ ๋ฌธ์ ๋ฅผ ์ผ์ผํค์ง ์๋๋ค.
(4) ๊ฒ์ผ๋ฅธ ์ด๊ธฐํ
๊ทธ๋ฆฌ๊ณ ๋ด๊ฐ ์์๋ก ์ฌ๋ ค๋์ ์ฝ๋๋ ๊ฒ์ผ๋ฅธ ์ด๊ธฐํ(์ต์ด Instance ์ ๊ทผํ์ ๋ ๊ทธ์ ์์ผ ๊ฐ์ฒด ์์ฑ)๋ฅผ ํ๋ ๋ฐฉ์์ ์ฑ๊ธํด์ธ๋ฐ
์ฒ์์๋ ๋ญฃ๋ ๋ชจ๋ฅด๊ณ ์ผ์๋๋ฐ ์์ฆ์๋ ์ฐ์๋ฐ๊ธฐ ์๋ค๊ณ ๋๊ผ์
๊ฒ์ผ๋ฅธ ์ด๊ธฐํ๋ฅผ ํ๋ฉด ์ฅ์ ์ด๋ค๋ผ๊ณ ํ๋ ๊ฒ๋ค์ด ์ฃผ๋ก
(1) ์ด ์ฑ๊ธํด ๊ฐ์ฒด๊ฐ ์ฌ์ฉ๋๊ธฐ ์ ๊น์ง๋ ๊ฐ์ฒด ์์ฑ์ ํ์ง ์์
๊ฒ์์ด ์ข ๋ฃ๋ ๋๊น์ง ์ฌ์ฉํ์ง๋ ์์ ๊ฐ์ฒด๋ฅผ ์์ฑํด์ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋นํ๋ ๊ฒฝ์ฐ๋ฅผ ๋ฐฉ์งํ ์ ์๋ค.
๋ผ๊ณ ํ๋๋ฐ.. ๊ณผ์ฐ ํ์ค์ ์ธ๊ฐ? ๊ฒ์์ด ์ข ๋ฃ๋ ๋๊น์ง ์ฌ์ฉ๋์ง ์์ ๊ฐ๋ฅ์ฑ์ด ์๋ค๋๊ฑด
๊ทธ๋งํผ ํน์ํ ์ํฉ์์๋ง ์ฌ์ฉ๋๋ ํด๋์ค๋ผ๋ฉด ์ฑ๊ธํด์ผ๋ก ๋ง๋๋๊ฑฐ ์์ฒด๊ฐ ๋นํจ์จ์ ์ธ๊ฑฐ๊ฐ์
(2) Hierarchy ๋ทฐ๊ฐ ๊น๋ํด์ง.
์ฌ์ค ๋๋ ์ด๊ฑฐ ๋๋ฌธ์ ์ผ์์.. ์ฌ ์์ ๋น ๊ฒ์์ค๋ธ์ ํธ๋ค์ ๋ง๋ค๊ณ ๋ฌด์จ ๋งค๋์ , ๋ฌด์จ ๋งค๋์
๋ถ์ฌ๋๋๊ฑฐ ์์ฒด๊ฐ ์ข ํด๋ฆฐํด๋ณด์ด์ง ์์์์..
๊ทผ๋ฐ ๋ค๋ฆ๊ฒ ์ฑ๊ธํด ๊ฐ์ฒด๋ฅผ ์ด๊ธฐํํ๋ค๊ฐ ์ฌ๊ธฐ์ ๋ง์ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ฉด ์ด๊ฑฐ์ ๋ํ ์ฒ๋ฆฌ๋??
๋ณดํต ๋ค์ ์ฌ์ผ๋ก ๋์ด๊ฐ ๋ ๊ฒ์์ ๋ฉ์ถฐ๋๊ณ ์ฌ๋ฌ๊ฐ์ง ๊ฐ์ฒด ์ด๊ธฐํํ๋ ์๊ฐ์ ๋ฐ๋ก ํ ๋นํ๋๋ฐ
์ฌ๊ธฐ์ ์ฑ๊ธํด ๊ฐ์ฒด๋ฅผ ํฌํจ์ํค์ง ์๋๋ค?
๋ฌผ๋ก ์ฑ๊ธํด ๊ฐ์ฒด๊ฐ ๋งค์ฐ ๊ฐ๋ณ๊ณ ์ด๊ธฐํํ๋๋ฐ ์ง์ฐ์๊ฐ์ด ์๊ธธ ๊ฐ๋ฅ์ฑ์ด 0%๋ผ๋ฉด ๋ ธ์๊ด์ด์ง๋ง
์ด๊ธฐํ ํจ์(์์ฑ์ ํจ์)์ ๋ฐ์ดํฐ ๋ก๋ฉ๊ฐ์๊ฒ ์๋ค๋ฉด ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ๋ฐ๋ก ํด์ค์ผํจ
๊ฒฐ๊ตญ์ ์ ์ ์ ์ฅ์์๋ ์ธ๋ฒคํ ๋ฆฌ๋ฅผ ํด๋ฆญํ๋๋ ๊ฒ์์ด ๋ฉ์ถ๊ฑด ์๋๋ฐ 2์ด๋์ ๋ก๋ฉ UI๊ฐ ๋์ค๋ ๊ฒฝํ์ ํด์ผํจ
์๋ฌดํผ ์ฑ๊ธํด์ ๋จ์ํ ์ธ ๋๋ ์์ธ๋ก ์ฌ๋ฌ๊ฐ์ง ๊ณ ๋ฏผ์ ํด๋ด์ผํจ
์ข์ ๊ธ์ ๋๋ค
์ด๊ฑฐ ๋ด. ๋ฐ๋ฐํ๋ ์ ๋ค๋ ์ ๋ํ ์คํธ ์ธ๋ณธ์ ์๋ค์๋ ใ ใ ใ ๊ฑ ๊ผด๋ฆฌ๋๋๋ก ์ฐ๋ฉด ๋จ. ํ ์คํธ์ฝ๋๋ฅผ ์์ฑํด๋ณธ์ ๋ ์๋ ์ฌ๋๋ค ๋ ธ๋๊ณณ ์์ค์ธ๋ฐ ๋ฌด์จ ์์กด์ฑ ์ด์ดํ๋ฉฐ ๋ญ๊ฐ ์ข๋ค ๋์๋ค ๊ทธ๋ผ? ๊ฑ ์๋ฌด๋ ๊ฒ๋ ์ง๋ ์ถ์ํด์ ๋๋ฒ๋ฉด ๋๋๊ฑฐ์ง ๋ญ
๊ฑ ์คํํฑ์ผ๋ก ๋ณ์ ๋ฐ์ดํฐ ๋ค ๊ผฌ๋ผ๋ฐ์๋ ๊ฒ ์๋ง ๋์๊ฐ๋ค. ์ ์ง๋ณด์๋ ์์กด์ฑ์ด๋ ๊ทธ๋ฐ ๊ฑด ์ถ์ํ๋๋ค์ด ์์์ ๊ณ ๋ฏผํ๊ฒ ๋์ด์์.
์ธ๋๊ฒ์์๋
if๋ฌธ์ผ๋ก ๋ค ์จ๋ ๋ฌธ์ ์๋ค๊ณ ์๊ฐํจ ใ ใ ใ ใ ใ ใ ใ ใ
> ์ผ๋ฐ์ ์ธ ์ธ๋ ๊ฒ์์์๋ ์ด๋ฐ ๋จ์ ํ ์คํธ๊ฐ ํ์ํ๊ฐ ์ถ๋ค. ์ด๊ฒ์ ๋ํด์๋ง ์กฐ๊ธ ์ด๊ฒฌ์ด ์์.
ํ ์คํธ ์ฝ๋์ ์ญํ ์ ๋ ๊ฐ์ง๊ฐ ์์. - ํ ์คํธ ๋ชฉ์ ํด๋์ค๊ฐ ์ ์์ ์ผ๋ก ๋์ํ๋์ง ํ ์คํธํ๋ค. - ํ ์คํธ ๋ชฉ์ ํด๋์ค์ ์ฌ์ฉ๋ฒ์ ์ ๋ฌํ๋ค. ๋ฐ๋ผ์ ํ ์คํธ ์ฝ๋๋ ์์ฐ์ฑ์ ์ํด์๋, ์ฐจํ ๋ณธ์ธ ๋๋ ๋ค๋ฅธ ๊ฐ๋ฐ์์ ์ดํด๋ฅผ ๋๊ธฐ ์ํด์๋ผ๋ ๊ฐ๋จํ๊ฒ ์์ฑ๋ ์๋ก ์ ์ฉํจ. ๋ฌผ๋ก ๋ณธ์ธ์ด ํ์ฌ ํ ์คํธ ์ฝ๋ ์์ฑ์ด ๋ถ๋ด๋์ง ์๋๋ค๊ณ ํ๋ค๋ฉด ๊ทธ๊ฒ์ ์ธ๋ถ์์ ์ด๋๋ผ ์ ๋๋ผ ํ๋๊ฑด ์ค์ง๋์ด์ง๋ง ๊ทธ๋ ๋ค๊ณ '๊ฐ๊ฒฐํ ํ ์คํธ๋ ๋ถํ์ํด.' ๋ผ๊ณ ์ฃผ์ฅํ๋ ๊ฒ์ ๋์๊ฐ ์๋จ.
๋ฌด์๋ณด๋ค.. ๊ฒ์์ด ์กฐ๊ธ๋ง ๋ณต์กํด์ ธ๋ ํ ์คํธ ํ๊ฒฝ์์ ์ฌํํ๊ธฐ ์ด๋ ต๊ฑฐ๋ ๋ถ๊ฐ๋ฅํ ์ฝ๋๊ฐ ์๊ธฐ๊ธฐ ์์ํ ๊ฒ. ๋ํ์ ์ผ๋ก ์๋ฅผ ๋ค๋ฉด ๋คํธ์ํฌ๊ฐ ์ ์ ์ค๋จ๋๋ค๊ฑฐ๋, ํ์ผ ๋์คํฌ๋ฆฝํฐ๊ฐ ๋ซํ์๋ค๋๊ฐ.. ์๋ฆผ์ ๋ณด๋ด๋ณด๋ ค๋๋ฐ ์ฌ์ผ ์๊ฐ๋๋ผ๋๊ฐ ๋ชจ๋ฐ์ผ ๊ฒ์์ด๋ผ์ ๋๋ฐ์ด์ค ์ชฝ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ๊ฑด๋ฐ Nugat ์ ๊ฒฝ์ฐ ํด๋น API์ ๋ฌธ์ ๊ฐ ์์ด ๋งํ์์ด์ผ ํ๋ค๋๊ฐ.. ๊ทธ๊ฒ์ ๋ณ๋๋ก ๊ฐ์ง ํ๊ฒฝ์ ๋ง๋ค๊ณ ํ ์คํธํด์ค์ผ ํจ. ์ธ๋๊ฑด ์๋๊ฑด ๊ฐ๋ฐ์ ๊ธฐ๋ณธ์ ์ธ ์ ๋ ํ ์คํธ๊น์ง ์์ฑํด์ผ ๋๋ฌ๋ค๊ณ ์๊ฐํ๋ ๊ฒ์ด ์ข์. ์คํ๋ ค ํฐ ๊ฐ๋ฐ์ฌ์์ UI Controller ๋ก์ง๋ค์ ํ ์คํธ ์ํด๋ QA์์ ๋ค ํด๊ฒฐํด์ฃผ์ง๋๊น ํ ์คํธ์ข ๋นผ๋จน์ด๋ ๋ฌธ์ ์์. ํ์ง๋ง ์ธ๋๊ฒ์์.. ๊ธฐ๊ป ๊ฒ์์ด ์๋๋๋ฐ, ์ฌ์ํ ๋ก์ง ํ๋๋๋ฌธ์ ํฌ๋์๊ฐ ํฐ์ง๋ฉด..
๋๊ฐ ๋ด ํ๋ก์ ํธ๋ฅผ ์ง์ผ์ฃผ๊ฒ ์.. ๊ธฐ๊ป ์ข์ ๊ฒ์์ ๋ง๋ค๊ณ ๊ทธ๋ฐ ์ด์ํ ์ด์ ๋ก ์คํจํ๋ฉด ์์ฝ์์.
๋ค๋ฅธ ๊ฐ๋ฐ์์ ์ดํด๋ฅผ ๋๊ธฐ ์ํด ํ ์คํธ ์ฝ๋๋ฅผ ์ฐ๋๋ ๋ฌธ์ํ๋ฅผ ์ํ์. ์ ๋ ํ ์คํธ๋ฅผ ์ํด๋ ๋๊ตฌ๋ ์ ์์ ์ผ๋ก ๋์ํ๋์ง ํ ์คํธํ๋ค
์ ๋ํ ์คํธ๋ก ๋คํธ์ํฌ๊ฐ ์ค๋จ๋๋์ง, ํ์ผ ๋์คํฌ๋ฝํฐ๋ฅผ ํ ์คํธ๋ ํ๋๊ฑด ์ข... ์ด๊ฑฐ์ผ๋ง๋ก ์ค์ ํ๊ฒฝ๊ณผ ์ ์ฌํ๊ฒ ๋ง๋ค์ด์ ํด์ผ ํ ์คํธ๊ฐ ๋๋๊ฑด๋ฐ
> ์ ๋ํ ์คํธ๋ก ๋คํธ์ํฌ๊ฐ ์ค๋จ๋๋์ง, ํ์ผ ๋์คํฌ๋ฝํฐ๋ฅผ ํ ์คํธ๋ ํ๋๊ฑด ์ข... ์คํด๋ฅผ ํ์ ๊ฒ ๊ฐ์๋ฐ, ๋คํธ์ํฌ๊ฐ ์ค๋จ๋๋์ง ํ ์คํธ ํ๋ ค๋ ๊ฒ์ด ์๋๊ณ ๋คํธ์ํฌ๊ฐ ์ค๋จ๋ ์ํ์์ ํน์ ์์ค์ฝ๋๊ฐ ์๋๋๋๋ก ๋์ํ๋์ง ํ์ธํ๋ ํ ์คํธ์ ๋๋ค. ๋งค๋ฒ ์ค์ ํ๊ฒฝ์์ ๋ชจ๋ ์์ค์ฝ๋๋ฅผ ํ ์คํธํ๊ธฐ์ ๋๋ฌด ๋ฆฌ์์ค๊ฐ ํฌ๋๊น์.
> ๋ค๋ฅธ ๊ฐ๋ฐ์์ ์ดํด๋ฅผ ๋๊ธฐ ์ํด ํ ์คํธ ์ฝ๋๋ฅผ ์ฐ๋๋ ๋ฌธ์ํ๋ฅผ ์ํ์. ๋ฌธ์ํ๋ ๋น์ฐํ ํด์ผํฉ๋๋ค. ์ ๋ ํ ์คํธ๊ฐ ๋ฌธ์ํ๋ฅผ ๋์ฒด ํ ์ ์๋๊ฒ์ ์๋๋๋ค. ๋จ, ์ ๋ ํ ์คํธ๋ ํ๋ก์ ํธ์ ์ต์ ํ๊ฒฝ์์ ์คํ์ด ๊ฐ๋ฅํ๋ฉฐ, ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๋ช ์ ์ ๋ํ ์ฑ๊ณต/์คํจ ๊ฒฐ๊ณผ์ ๋ช ํํ ๊ทผ๊ฑฐ๋ฅผ ์ป์ ์ ์์ต๋๋ค. ํ์ง๋ง ๋ฌธ์๋ ์ฌ๋์ด ๊ฐฑ์ ํด์ฃผ์ง ์์ผ๋ฉด ๋ณํ๋ฅผ ๋ฐ์ํ์ง ๋ชปํฉ๋๋ค. ๊ทธ๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ์ ๋ ํ ์คํธ๋ก๋ ์ฌ์ฉ๋ฒ์ ์ ๋ฌํด์ผ๋ง ํ๋ ์ด์ ์ ๋๋ค.
๊ฒฐ๊ตญ ๋ ์ฝ๋ฉํธ ๋ชจ๋ ์์ฝํ๋ฉด ์ ๋ ํ ์คํธ๋ฅผ ์ถฉ์คํ ์ง๋ ๊ฒ, ๊ทธ๊ฑธ ์ํ ํ๊ฒฝ์ ๊ตฌ์ฑํ๋ ๊ฒ์ด ๋น์ฅ์ ๋ถํ์ํ ์ ๋ฌด์ฒ๋ผ ๋ณด์ผ์ง ๋ชฐ๋ผ๋ ์ฅ๊ธฐ์ ์ผ๋ก ์ด๋์ ๋ ๊ท๋ชจ ์ด์์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๋ ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ํต์ ํ๋ฉฐ ์ด๋ฅผ ์ํ ๋ฆฌ์์ค๋ฅผ ์ต์ ํํ๊ธฐ ํธ๋ฆฌํฉ๋๋ค.
> Hierarchy ๋ทฐ๊ฐ ๊น๋ํด์ง. ๊ณ์ธต์ ๊น๋ํ๊ฒ ๋ง๋๋ ๊ฒ์ ์ค์ํ๋ค๊ณ ์๊ฐํจ. ์ข์ ์ผ์. ๋ค๋ง ์ค์ ๊ด๊ณ๋ ๊น๋ํ์ง ์์๋ฐ ๊ทธ๊ฑธ ์ต์ง๋ก ๊น๋ํ๊ฒ ๋ณด์ด๊ฒ ๋ง๋๋๊ฑด ์ข์ง ์๋ค๊ณ ์๊ฐํจ. Scene์ ๋ค์ด๊ฐ ํ์๊ฐ ์๋ ์ผ๋ฐ์ ์ธ ๋น์ฆ๋์ค ๋ก์ง ๊ฐ์ฒด๋ผ๋ฉด Scriptable Object๋ฅผ ์จ๋ ๋๊ณ
๊ทธ๊ฒ ์๋๋ฉด ๋ค์ ๋ณต์กํด๋ณด์ฌ๋ ์ ์งํ๊ฒ ๊ณ์ธต์ ๊ตฌ์ฑํ๊ณ ์ด๋ฅผ ์ต๋ํ ๋ ๋ฆฝ์ ์ผ๋ก ํ๋ฆฌํนํ ์ํค๋๊ฒ ์ข๋ค๊ณ ์๊ฐํจ.
ํ ์คํธ ์์จ๋ดค๋ค๋๊ฑฐ์์ ๊ณ ์กธ๊ฒ๊ฑฐ
๋๋์ ๋จ์ํ ์คํธ ์ธ์ ํด๋ด
๋ํ์์ ๋ฐฐ์ฐ๊ฒ๋ฉ๋๋ค. ์ํดํ์ ์ ๋์น์ ๋ฏ
์ง์ก๋ถ์ฌ์ด ํ๋ ์ด๋ค ใ ใ ใ
ใ ใ ใ ใ ใ ์น ใ ใ ใ ํ ์คํธ์ฝ๋ ์จ๋ณธ์ ๋ ์๋์๋ผ๋ค์ด ๋จํํ ์ฌํ ๊ป ๊ผฐ๋์ง ํด์จ๊ฑฐ๋ค ใ ใ ใ
ํ์ ์ฑ๊ธํค ์ ๋ง ์ฆ๊ฒจ์จ์๋๋ฐ ์ฃผ์ํด์ผํ ์ ์ ์ ๋ฆฌํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค
1) ์ด๋ค ์ข ๋ฅ๋ ํ ์คํธ๋ฅผ ํ๋ค๋ฉด, ์ ๋ํ ์คํธ๋ฅผ ์ํ๋ค๊ณ ์กฐ๋กฑ๋ฐ์ ์ด์ ๊ฐ ์๋ค. ์ ๋ ํ ์คํธ๋ ์ํํ์ด ์๋๋ค. 2) ์ฑ๊ธํค์ ์ฐ๋ ๋ง๋ ์๊ด์๋ค. static์ผ๋ก ๋ฐ์๋ฒ๋ฆฌ๊ณ ์จ๋ ์๊ด์๋ค...
์์ ํ ์คํธ๋ฅผ ํ์ง ์๋๋ค๋ฉด ์ดํด๊ฐ ๋ฉ๋๋ค. ํ์ง๋ง ์๊ทธ๋๋ ์ธ๋ ฅ์ด ๋ถ์กฑํ ์ธ๋ ๊ฐ๋ฐ์์ ํ ์คํธ ์๋ํ๋ฅผ ๊ฒํ ํ์ง ์๋ ๊ฒ์ ์ด์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ง์ฝ ๋ค๋ฅธ ๋ฐฉ๋ฒ (์ผ๋ฐ์ ์ผ๋ก QA) ๋ก ํ ์คํธ๋ฅผ ์ํํด์ ๊ฒ์์ ๋ก์ง์ ๊ฒ์ฆํ๋๊ฒ ์ ๋ํ ์คํธ๋ณด๋ค ๋น ๋ฅด๋ค๋ฉด ๊ทธ๊ฒ์ ํด๋น ํ ์คํธ ๋ฐฉ๋ฒ์ผ๋ก ๊ฒ์ฆ๋๋ ํ๋ก์ ํธ์ ์ปค๋ฒ๋ฆฌ์ง๊ฐ ํ์ ํ ๋ฎ๋ค๋ ๊ฒ์ ๋ฐ์ฆํ๋ ์ ์ ๋๋ค.. UI ์ ์ด ์ฝ๋๊ฐ์ GO์ ์ข ์๋๋ฉฐ, ํ ์คํธ๊ฐ ๊น๋ค๋ก์ด ์ฝ๋๋ค์ ํ ์คํธ ๋ฒ์์์ ์ ์ธํ๋๋ผ๋ ํฅํ ๊ฒ์์ ๊ท์น, ๋ณด์ ํ๋ก์ฐ๊ฐ์ ํต์ฌ ๋น์ฆ๋์ค ๋ชจ๋ธ์ ์ํฅ์ ๋ผ์น ์ ์๋ ๋ก์ง๋ค์ ๋ฐ๋์! ์ ๋ํ ์คํธ๋ฅผ ํ๋ ๊ฒ์ ์ถ์ฒ๋๋ฆฝ๋๋ค. (์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์กฐ๋ฅผ ๋ถ๋ฆฌํด์๋ค๋ฉด ์ด๋ฌํ ์ฝ๋๋ค์ ํ ์คํธ๊ฐ ๊ฒฐ์ฝ ์ด๋ ต์ง ์์ต๋๋ค.)