๊ฒ์ํด๋ณด๋๊น static์ const ์๋ ์ด์ ์ ๋งํ๋ฉด ์ฌ์ฉํ์ง ๋ง๋ผ๊ณ ํด์.......
์ด๊ฒ ํ๋ ์ด์ด ์กฐ์ ์คํฌ๋ฆฝํธ ์ค ์ผ๋ถ์ธ๋ฐ
์ Ai๊ฐย ํ๋ ์ด์ด๊ฐ ์ํ์ ๋ฐ๋ผ ๋ฐ์์ ํด์ผํด์ enum PlayerStates๋ฅผ ๋ง๋ค์์
๊ทผ๋ฐ ์ด๊ฒ์ ๊ฝค ๋ง์ ์ ๋ค์ด ์ฌ์ฉํด์ผ ํ๋๋ฐ
์ผ์ผ์ด FindWIthTagํ๊ณ GetComponent ํด์ ๊ฐ์ ธ์ค๊ฒ ํด์ผํ๋?
๋ง์ ์๋๊ฐ ํ๋ ์ด์ด์ PlayerState๋ ์ฝ๋๋ฐ ๋ฐ๊พธ์ง๋ ๋ชปํ๊ฒ ํ๊ณ ์ถ์๋ฐ ์ด๋ป๊ฒ ํด์ผํ์ง....
ใ ใ ใ ใ const์ ์ฉ๋๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ฐํ์์ ๋ณ๊ฒฝํ์ง ๋ชปํ๋๋ก ํ๋ ํธ์๊ธฐ๋ฅ ์ด์๋ ์ดํ๋ ์๋ ์์จ๋ ๋๋ ๊ธฐ๋ฅ์ธ๋ฐ
๋ฌด์จ const์๋๋ฉด ์ฐ์ง๋ง๋ ใ
๋๋ถ๋ถ ๊ฐ์๋ฆฌ์ ํด๋ณด๊ธฐ๋ ์ ์ ๊ณ ๋ฏผ๋๋ฆฌ์ง ๋ง๊ณ ํด๋ณด๊ณ ๊ตฌ๋ฆฌ๋ฉด ๋ฐ๊พธ๋ฉด ๋จ
ใ ใ ์ผ๋จ static์ const์๋ง ์ฐ๋ผ๋์ ๋ ๊ฑธ๋ฌ๋ผ static์ด ๋ญ์ง๋ ๋ชจ๋ฅด๋์ ์ ์ ์ด์ c# const๋ ์์ฒด์ ์ผ๋ก static์ด๋ผ ์๋ฐ์ฒ๋ผ static final(const) ๊ฐ ์์
๊ทธ๋ฆฌ๊ณ ๋ด ๊ธฐ์ต์ c# enum์ ์ฐธ์กฐํ(๋ด๋ถ์ ์ผ๋ก ํฌ์ธํฐ) ๊ฐ ์๋๋ผ ๊ฐํ์ ์ด๋ผ ์ ๋ ๊ฒํ๋ฉด ์ฐธ์กฐ๊ฐ ์๋๋ผ ๋ณต์ฌ๊ฐ ๋๋ฒ๋ฆด๊ฑธ?
๋ชจ๋ ์ ๋ค์ด getcomponent๋ฅผ ํธ์ถํ๋๊ฒ ๋ถ๋ด๋๋ฉด ์ ํด๋์ค์ static์ผ๋ก ํ๋ฒ๋ง ๋ฐ์์ค๊ฑฐ๋ ํ๋ ์ด์ด์ ์ํ๋ณ์๋ฅผ ์คํํฑ์ผ๋ก ํ์
ํ๋ ์ด์ด ๋ด๋ถ์ public PlayerState playerState { get; private set; } ์ด๋๋๋ฉด ํ๋ ์ด์ด ํด๋์ค ๋ด๋ถ์์๋ง set ๊ฐ๋ฅ, ๋ฐ์์ get๋ง ๊ฐ๋ฅ.
Find๋ GetComponent๋ ๋ ๋ค ์ค๋๊ฑธ๋ฆฌ๋ ํจ์๋๊น ๋งค๋ฒ ์ฐ๋ฉด ์๋๊ณ , ๋ฑ ํ๋ฒ๋ง ๋ถ๋ฌ์ ๋ฐ์๋ธ๊ฐ ์ ์ฅํด๋๊ณ ์จ์ผ๋จ
์๋๋ฉด "Gv.cs" public static class Gv { public static Player player; } ์ด๋ฐ ์์ผ๋ก ๊ธ๋ก๋ฒ๋ณ์ ์ ์ฅ์ฉ ํด๋์ค ํ๋ ๋ง๋ค์ด๋๊ณ , ํ๋ ์ด์ด ํด๋์ค์์ void Awake() { Gv.player = this; } void OnDestroy { Gv.player = null; } ํด์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ๋ ์์
๋ต๋ค ์ ๋ง ๊ฐ์ฌ ใ ใ ใ ใ ๊ฐ๋
FindWIthTag ๋๋ฆฝ๋๋ค. GetComponent ๋ํ ๋๋ฆฝ๋๋ค. ๋ ์์์ผ๋ฉด ์ฌ์ฉ์ ์ ๊ฒ ํ์ธ์..