์ผ์ผํ null ์ฒดํฌ ํ๋๊ฒ๋ ์คํ๋ ค ์ฝ๋ ๊ผฌ๋๊ฑฐ๊ฐ๊ณ
์ ์ด์ ํฌ๋์๊ฐ ๋๋ฉด ์ฝ๋๋ Inspector ์ค์ ์์ฒด๊ฐ ์๋ชป๋๊ฑฐ๋๊น
๊ทธ๋ฅ ๋ ๋๊ณ ํฌ๋์๋๋ฉด ๋ก๊ทธ๋ณด๊ณ ์์ ํ๋๊ฒ ๋ง๋ ์ถ๊ธฐ๋ํ๊ณ
์ผ์ผํ null ์ฒดํฌ ํ๋๊ฒ๋ ์คํ๋ ค ์ฝ๋ ๊ผฌ๋๊ฑฐ๊ฐ๊ณ
์ ์ด์ ํฌ๋์๊ฐ ๋๋ฉด ์ฝ๋๋ Inspector ์ค์ ์์ฒด๊ฐ ์๋ชป๋๊ฑฐ๋๊น
๊ทธ๋ฅ ๋ ๋๊ณ ํฌ๋์๋๋ฉด ๋ก๊ทธ๋ณด๊ณ ์์ ํ๋๊ฒ ๋ง๋ ์ถ๊ธฐ๋ํ๊ณ
๊ตฌ์กฐ๋ฅผ ์๋ชป ์ง ๊ฑฐ์ง. ์๊ธฐ ์์ ์ด๊ธฐํํ ๋ ๋ง๊ณ ๋ awake๋ ์ ์ฐ๋๊ฒ ์ข์. ํนํ ๋ค๋ฅธ ํด๋์ค์ ์์กด์ฑ์ด ์์ผ๋ฉด ๋๋์ฑ ์ฐ๋ฉด ์ ๋จ
๋ง๋ ๋ง์. ๋ด๊ฐ ์ด๋ ค์ด ์ ์ ํ๋ฆฌํน์ ๋ฐํ์ ์ค ์์ฑํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ ๋ค๋ฅธ ์ปดํฌ๋ํธ๊ฐ ์์กด์ฑ์ Inspector์์ ์ ์ํด์ค ์ ์๊ธฐ ๋๋ฌธ์ Lazyํ ํ ๋น์ด ์๊ธธ ์๋ฐ์ ์๋ค๋ ์ ์..
์ด ๋ถ๋ถ์ ์ด๋ป๊ฒ ํด๊ฒฐํด์ผํ ๊น์ฉ.. ๊ธ๊ณ awake ๋ฅผ ์์ฐ๋๊ฒ ์ข๋ค๋ ์ ์ ์กฐ๊ธ๋ง ๋ ์ฝ๋ฉํธ ์ฃผ์๋ฉด ใณใณ..
์๊ฐํด๋ณธ ๋ฐฉ๋ฒ์ผ๋ก๋ - Factory ํจ์๋ฅผ ๋ง๋ค์ด์ ์ธ์๋ฅผ ์ ๋ฌํด Field ์ด๊ธฐํ๋ ๋์์ ์งํํ๋ค - ์ธ์๊ฐ Null ์ธ์ง ์๋์ง๋ Editor ์์๋ง ํ์ฑํ๋๋ Validate ์์ ์ ํตํด ๊ฒ์ฆํ๋ค - Awake ๋ ์์ฑ/์ธ์ ์ฃผ์ ์ด ๋๋ ์ดํ ๋ณธ ์คํฌ๋ฆฝํธ์ ๋ํ ์ด๊ธฐํ์ ๋ํด์๋ง ์ํํ๋ค ์ด๋ฌ๋ฉด ์ข ๊ด์ฐฎ์ ๊ฒ ๊ฐ์๋ฐ ์ด๋จ๊น์? ๊ตฌ์กฐ๋ผ๋๊ฒ ์ด์ชฝ ๊ด์ ์์ ์๊ธฐํ๊ฑด์ง ์ ๋ชจ๋ฅด๊ฒ ์ด์.. ์๊ฒฌ ์ฃผ์๋ฉด ๊ฐ์ฌํฉ๋๋ค
๋๋ ํ์ ์ด๋ผ ํฌ๋์๋๋ ์ฐพ๊ธฐ ํ๋ค์ด์ ๊ทธ๋ฅ ๋ฌด์ํ๊ฒ null ์ฒดํฌ์ฝ๋ ๋ค ๋ฃ๋๋ฐ ใ ใ ใ ใ ๊ต์๋๋ค์ odin inspector??๊ฐ์๊ฑฐ ์ฌ์ฉํ๊ฑฐ๋ dependency injection๊ฐ์๊ฑฐ ์ฌ์ฉํ๋ ์ฌ๋๋ ์๋ค๊ณ ํ๋๋ผ...
ํ์ฌ ํ๋ก์ ํธ๋ ์ ๋ํฐ๋ ์ค๋ฌด๊ฒฝํ์ด ์์ด์ UnityEngine ์ปดํฌ๋ํธ๋ง ์จ์ ๊ฒ์์ ๋ง๋ค์ด๋ณด์๋ ์ทจ์ง๋ก ์ํ์ค์ธ ๊ณผ์ ์ธ๋ฐ DI ์ฝ๋๋ ์ง์ ๋ง๋ค์ด๋ณด๊ณ ์ ํด์. ๊ฒฐ๊ตญ ์ง๊ธ์ด ์ด๊ฑธ ๋ง๋ค์ด์ผ ํ ํ์ด๋ฐ์ธ๋ฏ;
1.์ค๋ ์ธ์คํํฐ 2. validate ์ดํธ๋ฆฌ๋ทฐํธ ์ง์ ๊ตฌํ 3. OnValidate์ ๊ฒ์ฆ๋ก์ง๋ฃ๊ธฐ ์ด์ ๋๋ก ์๊ณ ์์
์ ๊ฐ C#/ Unity ์ค๋ฌด๊ฒฝํ์ด ์์ด์ ์ค๋ ์ธ์คํํฐ์ ์ทจ์ง๋ฅผ ๊ฒ์๋ง์ผ๋ก ๋น ๋ฅด๊ฒ ํ์ ํ๊ธฐ ์ด๋ ค์ด๋ฐ.. ์ฌ๋ฌ ๊ธฐ๋ฅ ์ค Validate attribute ๊ฐ ์ง์๋๋ ๊ฒ์ธ๊ฐ์?
https://forum.unity.com/threads/sort-of-release-validate-values-with-attributes-while-keeping-additional-propertydrawers.481102/
์ง์
๊ตฌํ์ด๋ ๋ง์์ ์ด๋ฐ ๋๋์ธ ๋ฏ ํ๋ค์
1. ์ทจ์ง๋ ์ธ์คํํฐ์ฐฝ์ ํธํ๊ฒ ์ธ์์์ด์ ์ฝ๊ฒ ๋ฒํผ๋ง๋ค๊ฑฐ๋๋ฑ๋ฑ ๊ทธ๋ฆฌ๊ณ 2๋ฒ์ ๋งํฌ ์ฌ๋ฆฌ์ ๊ฑฐ์ฒ๋ผ ๋ฐธ๋ฅ ์ ํ์ฉ์ผ๋ก๋ ์ธ์์์ null ์๋ฌ๋ [required] ๋จ ์ธ์คํํฐ์๋ง ๋ธ ์ฝ์์์๋ธ ์ฝ์์ ๋จ๊ฒํ ๋ผ๋ฉด ์ค๋๋ฒจ๋ฆฌ๋ฐ์ดํฐ๋ ๊ฐ์ด๊ตฌ๋งคํ์ ์ผ๋ 2. ๋ค
์ค ์ด๊ฒ์ ์ ์ฉํ๋ฉด ์์ ์ด ๋ง์ด ์ฌ์์ง๊ฒ ๋ค์.. ๋ค์ ๊ฒ์์ ๋ง๋ค๋๋ถํด ๊ผญ ์จ๋ด์ผ๊ฒ ์ด์
๊ฐ๊ธ์ ์ธ์คํํฐ์ ๊ฐ ์ง์ด๋ฃ๋๊ฒ์ ์ผ๊ฐ.
๋ค๋ฅธ component ์ ๋ํ reference ๋ ํ์ฉํ๋ Int, Float ๊ณผ ๊ฐ์ ๊ฐ์ ์ง์ด๋ฃ๋๊ฑด ์ผ๊ฐ๋ผ๋ ๋ง์์ด์ ๊ฑฐ์ฃ ? ๊ทธ ๋ถ๋ถ์ Data repository ๋ฅผ ๋ง๋ค์ด์ json ๋ฐ์ดํฐ๋ก๋ถํฐ ์ฝ์ด์์ ์ ์ฅํ๊ฒ ๋ง๋ค๊ณ ์์ด์!