Gamemanagerํด๋์ค์ int๋ณ์aa, voidํจ์BB
๋ฒกํฐ๊ฐ์ ๋ฐ์์์ ํด๋์คZZ๋ฅผ ๋ฐํํ๋ ํจ์CC๊ฐ ์๊ณ ,
ํด๋์คZZ์๋ int๋ณ์DD๊ฐ ์๋ค๋ฉด
ํด๋์คXX ์ฝ๋์์
public ZZ newclass;
Gamemanager.instance.aa = 99;
Gamemanager.instance.BB();
newclass = Gamemanager.instance.CC(new Vector3(0,0,0));
newclass.DD = 99;
์ฝ๋ ๋์งธ์ค, ์ธ๋ฒ์งธ์ค์ ์๋ํด์ ์ฑ๊ธํด ์ ์ฉํ๊ฑฐ ๊ฐ์๋ฐ
๋ค๋ฒ์งธ ์ค์์ NULL ์๋ฌ๊ฐ ๋ ์..
CCํจ์๊ฐ ํด๋์คZZ๋ฅผ ๋ฐํํ๋ newclass์ ๋ชฉํํ๋ ํด๋์คZZ๊ฐ ๋ด๊ธฐ๊ณ
๊ทธ newclass์ ์ ๊ทผํด์ DD์ ๊ฐ์ ๋ฐ๊ฟ์ฃผ๋ฉด ๋๋๊ฑฐ ์๋๊ฐ์?
ํผ์ C# ๊ณต๋ถ์ค์ธ๋ฐ ๋ช์๊ฐ๋์ ๋๋์๋ค๊ฐ ์ง๋ฌธ๋๋ฆฝ๋๋ค ใ
์ ๊ฐ ๋ง์ ์๋ชปํด์ ์ง๋ฌธ ์ดํด ๋ชปํ์ค๊น๋ด ๊ทธ๋ฆผํ๋ ์ฒจ๋ถํด์..
์ค๋ช ๋ถ์กฑํจ. ์ ์ฑ๊ธํด์ด MonoBehaviour์์ํ๋ ์ฑ๊ธํด์ธ์ง ์๋์ง. ๋ค๋ฅธํด๋์ค๋ ์ญ์ ๊ทธ๋ฌํ์ง ์ฌ๋ถ. ๋ง์ฝ Mono๋ฅผ ์์ํ๋ค๋ฉด ์ด๊ธฐํ์ด์๋๋ฌธ์ด๊ณ Mono๊ฐ์๋๋ผ๋ฉด ์ฝ๋๋ฅผ ์ธ๋ถ์ ์ผ๋ก๋ด์ผํจ. ๊ทธ๋ฆผํ ๊ทธ๋ฆผ๊ฐ์๊ฑธ๋ก ๋ง๊ณ
์ด๊ธฐํ์ด์๋ผ ํจ์ Mono๊ฐ์ ์ด๊ธฐํ ์์๋ฌธ์ ๋ฅผ๋งํจ
๋ค ๋ชจ๋ ธ ์์์ค์ด์์.
๊ทธ๋ผ ์ด๊ธฐํ ์์๋ฌธ์ ์ผ ๊ฐ๋ฅ์ฑ์ด ๋์. ์ ๋ํฐ์ Awake์ Start์ฝ์์ ๋ฌธ์ .
https://docs.unity3d.com/Manual/ExecutionOrder.html
Gamemanager์ ์ฝ๋๊ตฌ์กฐ๊ฐ ์ด๋ป๊ฒ ๋์ด์๋์ง๋ ์ ๋ชจ๋ฅด๊ฒ ๋๋ฐ ์๋ง ์ฑ๊ธํค์ด๋ผ๊ณ ํ์๋ Gamemanager๊ฐ ์๋๊ฒฝ์ฐ๋ ์์ ๊ฑฐ๊ณ , Null์ ๋ฐํํ๋ ์๋ง Dictionary์ ๋ค์ด๊ฐ ํค๊ฐ์ด ์๋ชป๋์๊ฑฐ๋, Dictionary์ด ์ด๊ธฐํ ๋์ง ์์์ ๊ฒฝ์ฐ๋ฅผ ์์ฌํ๋๊ฒ ์ข์๊ฒ ๊ฐ์์
์ค๋จ์ ์ฐ์ด๋ด์ Dictionary์ ๋ค์ด๊ฐ๋ ํค๊ฐ์ ํ์ธํ๊ฑฐ๋,Dictionary์ ์ด๊ธฐํ ์์ ์ Awake๋ก ๋ฐ๊ฟ๋ณด์ฌ์ ์ด๋ ์ค๊น์
Awake๋ก ๋ฐ๊พธ๋ฉด ๋ค๋ฒ์งธ์ค null์๋ฌ๋ ์ฌ๋ผ์ง๋๋ฐ ๋ค์ฏ๋ฒ์งธ์ค์์ ๋ค์ null์ด ๋จ๋ค์..
๊ถ๊ธํ๊ฒ ๊ฒ์๋งค๋์ ์ ์ผ๋ฐ voidํจ์๋ฅผ ๋ฐ๋์ํค๋๊ฑด ๋๊ณ ๋ฐํ๊ฐ์ ๊ฐ์ง ํจ์๋ฅผ ์ฌ์ฉํ๋๊ฑด ์๋๋๊ฑฐ๋ณด๋, ๊ฒ์๋งค๋์ ์ ๋ฐํํ๋ ํจ์๋ฅผ ์คํ์ํจ๋ค ๋ค์ ๊ทธ ๋ฐํ๊ฐ์ ํจ์๋ฅผ ์คํ์์ผฐ๋ ํด๋์ค์ ๋๊ฒจ์ค์ผํ ๊ฑฐ ๊ฐ์๋ฐ ์ด๊ฑด ์๋๊ฐ์?
Awake๋ก ๋ฐ๊พธ์ด์ 4๋ฒ์งธ์ค์ Null์ด ์ฌ๋ผ์ง๊ฑฐ๋ฉด ์ด์ ๊น์ง์ ๋ฌธ์ ๋ Dictionary ์์ฒด๊ฐ ์์ฑ๋์ง ์์๊ธฐ์ ์๊ธด ๋ฌธ์ ๊ฐ ๋ฉ๋๋ค. 5๋ฒ์งธ ์ค์์ Null์๋ฌ๊ฐ ์๊ฒผ๋ค๋ฉด Dictionary์์ Key๊ฐ์ ์ฐพ์ง ๋ชปํด newClass์ Null์ ๋ฐํํ๋ค๋ ๋ป์ด ๋๊ณ ์. Dictionary์ Key๊ฐ์ ์ฝ์ ํ๋ ๋ถ๋ถ์ ์ฐพ์๋ณด์๊ธธ ๋ฐ๋๋๋ค
์ฑ๊ธํค ํจํด์ ๋จ์ํฉ๋๋ค. 1๊ฐ์ ๊ฐ์ฒด๋ง ์กด์ฌํ ๊ฒ์ ๋ณด์ฅํ๋ฉฐ, ์ด๋ฅผ ์ ์ญ์ ์ผ๋ก ์ ๊ทผ๊ถํ์ ์ค๋ค๋ ๋ป์ ๋๋ค ์ด ์ด์์ ๋ป์ ๋ถ์ฌํด์ ์๋ฉ๋๋ค void ํจ์์คํ์ด ๊ฐ๋ฅํ๋๊ฑด ๋จ์ํ GameManager๊ฐ Null์ด ์๋๊ธฐ์ ๊ฐ๋ฅํ๊ณ ๋ฐํ๊ฐ์ ๊ฐ์ง ํจ์๊ฐ ์๋๊ฑด ๋จ์ํ Dictionay๊ฐ ์์์ด ๋ง์ง์์ ์ ์์๋์ ํ์ง ์์์ ๊ทธ๋ ๋ค๊ณ ์๊ฐ๋ฉ๋๋ค.