๊ทธ๋ฅ ์ ๋นํ DebugScript ํ๋ ๋ง๋ค์ด์
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
static void InitData()
{
ResourceManager.Instance.InitData();
SystemManager.Instance.InitData();
...
}
๋ฑ ์๊ฑฐ ํ๋ ๋ฃ์ผ๋ฉด ๋๋ค....
์์๋๋ก ์ฑํดํค ํด๋์ค์ ์ด๊ธฐํํ๋ ํจ์ ๋ฃ๊ณ ๊ฑฐ๊ธฐ์ ๋ฏธ๋ฆฌ ๋ํดํธ๊ฐ ๋ฃ์ด๋์ผ๋ฉด ํด๊ฒฐ๋๋ค.
๋ณดํต ์ฑ๊ธํค ํจํด์ ์ฐ๊ณ ํ ์คํธํ ๋ ์๋ฌ๋๋ ์ด์ ๋ฅผ ์์๋ก ๋ค์ด๋ณธ๋ค.
A์ฌ๊ณผ B์ฌ์ด ์๋ค๊ณ ๊ฐ์ ํ๊ณ
A์ฌ์์ ์บ๋ฆญํฐ ์ ํ > B์ฌ์์ ํด๋น ์บ๋ฆญํฐ๋ก ์ ํฌํ๋ ๊ฒ์์ ๋ง๋ค์๋ค ์น์
A์ฌ์์ ์ ํ๋ ์บ๋ฆญํฐ๋ฅผ ์บ๋ฆญํฐ๋งค๋์ ์ ์ง์ด๋ฃ๊ณ B์ฌ์์ ์บ๋ฆญํฐ๋งค๋์ ์ ์ ํ๋ ์บ๋ฆญํฐ๋ฅผ ๋ถ๋ฌ์์ ์ฌ์ฉํ๋ ํ์์ผ๋ก ์ฝ๋๋ฅผ ์งฐ๋ค์น์.
A์ฌ ์ ์์ ์๋ฃํ๊ณ B์ฌ์ผ๋ก ๋์ด๊ฐ์ ์ ํฌ๋ฅผ ๊ตฌํํ๊ณ B์ฌ์์ ๋ฐ๋ก ์์์ ํ๋ค.
๋น์ฐํ B์ฌ์์๋ ์์ํ๋ฉด์ ์บ๋ฆญํฐ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ์ํด ๋์ถฉ Character character = CharacterManager.Instance.GetCharacter(); ์ด๋ฐํ์์ผ๋ก ์ฝ๋๋ฅผ ๋ฃ์ด๋จ์๊ฒ์ด๋ค.
๊ทผ๋ฐ A์ฌ์์ ์์ํ๊ฒ์ด ์๋๊ธฐ๋๋ฌธ์ ์บ๋ฆญํฐ๋งค๋์ ์ character == null ์ผ๊ฒ์ด๊ณ ๊ทธ ๋๋ฌธ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
๊ทธ๋์ ๋๋ฌผ์ ๋จธ๊ธ๊ณ A์ฌ์ผ๋ก ๋์๊ฐ A์ฌ์ ์คํํด์ ์บ๋ฆญํฐ๋ฅผ ์ ํ ํ B์ฌ์ผ๋ก ๋์ด๊ฐ ํ ์คํธ๋ฅผ ํ๊ฒ๋๋ค...
๋ณดํต ์ด ๋๋ฌธ์ ์ฑ๊ธํค ํจํด์ ์ฌ์ฉํ๋ฉด ํ ์คํธ๊ฐ ์ด๋ ค์์ง๋ค๋ ๊ฒ์ธ๋ฐ ์์ ์์์
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]๋ผ๋๊ฑฐ๋ ๋ง ๊ทธ๋๋ก ์ฌ์ ๋ก๋ํ๊ธฐ ์ ์ ํด๋น ๋ฉ์๋๋ฅผ ์คํ์ํค๋ ์ญํ ์ ํ๋ค.
์ฆ CharacterManager ํด๋์ค์ InitData() ํจ์๋ฅผ ๋ง๋ค์ด๋๊ณ ๊ฑฐ๊ธฐ์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ํ ๋นํ๋ ๋ถ๋ถ์ ๋ง๋ค์ด๋๋ฉด ์๋ฌด ๋ฌธ์ ์์ด B์ฌ์์ ๋ฐ๋ก ํ ์คํธ๊ฐ ๊ฐ๋ฅํ๋ค.
์ฑ๊ธํค๊ฐ์ผ๋ก ํ ์คํธํ ๊ฒ ์์ผ๋ฉด null๋ก ๋ ๋์ง๋ง๊ณ ๊ธฐ๋ณธ๊ฐ ๋ฃ์ด๋๋ผ๋๊ฑฐ์?
ใ ใ ๊ทธ๋ฐ์ . ๋ณ์๋ฅผ serializblefield๋ก ํ๊ณ ์ฑ๊ธํค์ hierachy์ฐฝ์ ๋น๊ฒ์์ค๋ธ์ ํธ ๋ง๋ค์ด์ ์ถ๊ฐํด๋ฌ๋ ๋๊ธด ํ๋๋ฐ ์ฌ๋ง๋ค ๋ง๋ค์ด์ค์ผํ๋๊น ์ฑ๊ธํค ์ฝ๋๋ฅผ ์ฑ๊ธํค์ด ์์ผ๋ฉด instantiate ํ๊ฒํ๊ณ ์ ๊ฑฐ๋ก ๊ธฐ๋ณธ๊ฐ ๋ฃ์ด๋ฒ๋ฆฌ๋๊ฑฐ์ง. ๋ญ A์บ๋ฆญํฐ B์บ๋ฆญํฐ ํ ์คํธํ๋ ค๋ฉด ํด๋น ์ฑ๊ธํค ์คํฌ๋ฆฝํธ๊ฐ์ ๊ธฐ๋ณธ๊ฐ๋ง ๋ฐ๊ฟ์ฃผ๋ฉด๋๋๊น
์ฑ๊ธํค์คํฌ๋ฆฝํธ์ ์๋ฃ๊ณ ๊ฑ ์ ๋๋ฒ๊ทธ์คํฌ๋ฆฝํธ์ ์ด๋๋ฐ์ดํฐ์์ ์ง์ ๊ธฐ๋ณธ๊ฐ ๋ฃ์ด๋ฒ๋ ค๋ ๋๊ณ
์ ๋ํ ์คํธ๋ ์ด์ผ ์ธ๊ฑฐ?
์ ๋ํ ์คํธ๊ฐ ์ ๋ํฐ์์๋ ํ๋ ์ด๋ชจ๋/์๋ํฐ๋ชจ๋ ์ ๋ํ ์คํธ์ธ์ง ์๋๋ฉด ๊ทธ๋ฅ ์ ๊ณ ์ ๋ฐ์ ์ผ๋ก ์ฐ์ด๋ ์ ๋ํ ์คํธ์ธ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง ํ์๋ฉด ์๊ท๋ชจ ์ธ๋๊ฒ์์ ๋นก์ธ๊ฒ ์ ๋ํ ์คํธ ๋ค๋๋ฆดํ์์๋ ์๊ฐํจ... ๊ทธ๋ฅ ํจ์ ์ ์๋ํ๋ ํ ์คํธ๋ ์ค๋ ์ํฌํธํ๊ณ [Button] ๋ฌ๊ณ ํ ํด๋ด