์ธ๋ถ์ ์ฐธ์กฐ๋ฅผ ํ์ง๋ง ์์ ์ ์ํ๋ฉฐ ์ธ์คํํฐ์ ๋ํ๋๋ ๋ณ์๋ฅผ ๋ง๋ค๊ณ ์ถ์์ ์๋ก๋ค๋ฉด ํ๋ ์ด์ด ์๋ ๊ฐ ๊ฐ์๊ฑฐ
๊ทธ๋์ ์กฐ์ฌ๋ฅผ ํ๋ค๋ณด๋ ํ๋กํผํฐ์ ๋ํด์ ์๊ฒ ๋๊ณ
[SerializeField] private float _speed;
public float Speedย
{
get
{
return _speed;
}
private set
{
Speed = _speed;
}
}
์ด๋ฐ ์์ผ๋ก ์ฐ๊ฒ ๋์์
๊ทผ๋ฐ ๋ญ๊ฐ ์ธ๋ฐ์์ด ์ฝ๋ ๊ธธ์ด๊ฐ ๋์ด๋๊ฑฐ ๊ฐ์์ ์ฐพ์๋ณด๋๊น
[field: SerializeField] public float Speed { get; private set; }
์ด๋ฐ ์๋ ๊ตฌํ ํ๋กํผํฐ ์ฐ๋ฉด ๊ทธ๋ฅ ํ์ค๋ก ๋์ด๋๋ผ๊ณ
๊ทผ๋ฐ ๊ธฐ์กด ํ๋กํผํฐ์์ ์์ if๋ฌธ ๊ฐ์๊ฑฐ ๋ฃ์ด๋๊ณ ์ฐ์ฐ ๊ณผ์ ์์ ๋ค๋ฅธ๊ฑธ ํ ์ ์์๋๋ฐ
๊ทธ๋ฐ๊ฑด ๊ทธ๋ฅ ํจ์๋ก ๋ฐ๋ก ๋นผ์ ์ฒ๋ฆฌํ๋๊ฒ ์ ๋ต์ด์ง?
์์ฑ์ด ๋ถ์ ํจ๊ณผ๋ฅผ ์ผ์ผํจ๋ค = ํจ์๋ก ์ฒ๋ฆฌํด์ผ ํจ ๊ฐ๋ฅํ๋ฉด ์ด๋ ๊ฒ ํ๋ ๊ฒ ์ข์.
์ญ์ ๊ทธ๋ฐ๊ฑด ํจ์๋ก ์ฒ๋ฆฌํ๋๊ฒ ์ข๋ค
๋จ์ ๊ฒํฐ ๋ฐ ์ธํฐ ์ ๋๋ฉด ํจ์๋ก ๋บ ํ์๋ ์๊ณ ์ ๋ ฅ๊ฐ ๊ฒ์ฆ๋ ์ฌ์ค ํ์๋ ์์. ๊ทผ๋ฐ ๋ช ์์ ์ผ๋ก ํ๊ณ ์ถ๋ค๋ฉด ํจ์๋ก ํ๋๊ฒ ๋ง์ง.
์์ ์ ์ฑ ์์ ์ฝ์๊ฑฐ๋ผ ์์ฃผ ์ ํํ๋ ๊ธฐ์ต์ด ๋์ง ์๋๋ฐ, ์ง๋ ฌํ ํ ๊ฑฐ๋ผ๋๊ฐ p/invoke๋ก c๋ c++ ๊ตฌ์กฐ์ฒด ์ ๋ฌ๋ฐ์๊ฑฐ ์๋๋ฉด ์๋๊ตฌํ ํ๋กํผํฐ ๋ฌด์กฐ๊ฑด์ ์ผ๋ก ์ฌ์ฉํ๋๊ฒ ๋ง์. ์ด์ ๋ ์ฝ๋๋ ๋๋ฒ๊ทธ ๋ชจ๋์์์กฐ์ฐจ ์ผ๋ฐ ํผ๋ธ๋ฆญ ๋ฉค๋ฒ์ฒ๋ผ ๋ค๋ค์ ๋ณ๋์ ํจ์ ์ฝ ์ค๋ฒํค๋๋ ์ ํ ์๋ค.
SerializeField๋ณ์์ ํ์๋ฉค๋ฒ๋ฅผ ๋ค๋ฅธ ์คํฌ๋ฆฝํธ์์ ์ ๊ทผํ๊ณ ์ถ๋ค ํ ๋, ํ๋กํผํฐ ์ฐ๋ฉด ์ข์ ์๋ฅผ๋ค์ด unity localization ์ฐ๋ฉด, LocalizedString์ด๋ผ๊ณ ์๋๋ฐ ๋์ค์ ui์ ์ฐ๊ฒฐํ ๋ ui ์ปดํฌ๋ํธ์์ ๋ถ๋ฌ ์ธ์ ์๊ฒ ๊ตฌ์ฑํจ [SerializeField] private LocalizedString uiButtonText; public string UIButtonText => uiButtonText.GetLocalizedString();