์๋
ํ์ธ์
์ด ํฌ์คํธ์ ์ด๋ฒคํธ์ค๊ณ ๋ถ๋ถ์ ๋ํด ๊ถ๊ธํ์ ์ด ์์ต๋๋ค.
ํ์ฌ ์งํ์ค์ธ ํ๋ก์ ํธ์ ๊ฐ์ข
๋งค๋์ ๋ค์ด ์ฑ๊ธํคํจํด์ ํตํด ๋ฌด๋ถ๋ณํ๊ฒ ์ปคํ๋ง์ด ๋ฐ์ํ๊ณ ์๋๋ฐ
ํด๊ฒฐํ ๋ฐฉ๋ฒ์ ์ฐพ๋ค๊ฐ UnityEvent ์์คํ
์ ํตํด ํด๊ฒฐํ ์์๊ฒ ๋ค๊ณ ์๊ฐํ์ต๋๋ค.ย
์ ํฌ์คํธ์ฒ๋ผ ์ฝ๋์ค๊ณ๋ฅผ ํ์ง๋ง ์ํ๋ ๋ฐ์ดํฐํ์
์ ๋ฆฌ์ค๋๋ค์๊ฒ ์ ๋ฌํ ์ ์์์ต๋๋ค.
๋ฐ๋ผ์
์ด๊ณณ๊ณผ ๊ตฌ๊ธ๋ง์ ํตํด ์ ๋ค๋ฆญ์ผ๋ก ์ฝ๋์์ ์ ํ๊ณ ย
1. ๋ฐ์ดํฐํ์
์ ๋ง๋ ์ด๋ฒคํธ SO ๋ฅผ ๋ง๋ค๊ณ ๋ฐ์ ์์ ๋ฆฌ์ค๋์ ์ธ์คํํฐ์ ๋ฃ์๋คย
2. ๋ฆฌ์ค๋์๊ฒ (๋ฐ์ดํฐํ์
๋ช
)EventListener ์คํฌ๋ฆฝํธ๋ฅผ ์ปดํฌ๋ํธ๋ก์ง์ด๋ฃ๊ณ
3. ๋ฆฌ์ค๋์ ํด๋น๋๋ ํด๋์ค์ ๋ฐ์ดํฐํ์
์ ์ ์ฅํ๋ void ํ ๋ฉ์๋๋ฅผ ๋ง๋ค๊ณ , ์บ๋ฆญํฐ ํด๋์ค๋ฉด ์บ๋ฆญํฐ ํด๋์ค, intํ์
์ intํ์
๋๋ก ์ฝ๋ฐฑํจ์๋ฅผ ํตํด ์ ๋ณด๋ฅผ ๋ฐ์์์ ์ ์ฅํ ์์์์ต๋๋ค.
ํ์ง๋ง
์ฌ๊ธฐ์ c# ์ด๋ฒคํธ์ UnityEvent์ ํผํฌ๋จผ์ค ๋น๊ต๊ธ์ ๋ณด๋ ๋ฆฌ์ค๋๊ฐ ๋ง์๋๋ ์ผ๋ฐ ์ด๋ฒคํธ๋ณด๋จ gc๊ฐ ๋๋ฐ์ํ์ง๋ง ๊ฒฐ๊ตญ UnityEvent๋ ์ฉ ํจ์จ์ด์ข์ง๋ง์ ์์๊ฑฐ๊ฐ์์ต๋๋ค.
๊ฒฐ๊ตญ ์ ๊ฐ ๊ถ๊ธํ๊ฑดย
1. ๋ฌด๋ถ๋ณํ ์ฑ๊ธํคํจํด ๋ณด๋ค SO๋ฅผ ์ด์ฉํ UnityEvent๊ฐ ๋ ํจ์จ์ ์ธ๊ฐ? ์
๋๋ค.
2. ํ์คํ ํ์๊ฐ ์ปคํ๋ง์ ์ฑ๊ธํคํจํด์ ๋นํด ๋ํ๊ฒ ์ง๋ง
๋๋ฒ๊น
์ผ๋ก ์ถ์ ๋ ๋ชปํ๊ณ , ์์ ํ ์ฑ๊ธํค๋งค๋์ ๋ฅผ ๋์ฒดํ์๊ณ ํ๋ ๋ค์ํ ๋ฐ์ดํฐํ์
์ด๋ฒคํธ๋ค, ์คํฌ๋ฆฝํธ๋ค์ ์ผ์ผํ ๋ง๋ค์ด์ ๋ฐ์ ์ ํด๋์ค๋ค์์ ๋ฃ๊ณ ์ธ์คํํฐ์ฐฝ์ผ๋ก ํ๋์ฉ ์ง์ด๋ฃ์ด๋ฃ๋๊ฑฐ๋ ์ผ์ด๊ณ
๋ฆฌ์ค๋๋ค์๊ฒ ์
๋ฐ์ดํธํ๋ ๋ถ๋ถ๋๋ง์์
๊ฒฐ๊ตญ ๊ฐ๋
์ฑ์ด ์์ฒญ ๋จ์ด์ง๊ฑฐ๊ฐ์ต๋๋คใ
ใ
์ฐ๋งคํจ์ ๋ด์ฐ๋ฆฌ์ ๋ด์ฐฉํ ์ ๋ก์จ๋ ๋ญ๊ฐ ๋ ํจ์จ์ ์ด๊ณ ํธํ๋ฐฉ๋ฒ์ธ์ง ๊ณ ๋ฏผ๋ฉ๋๋ค.
3. ํน์๋ SO๋ฅผ ์ด์ฉํ ์ ๋ํฐ์ด๋ฒคํธ ์ค๊ณ๋ฅผ ํ๊ณ ๊ณ์ ๋ถ์ด ์๋์ง ์๋ค๋ฉด ์ด๋ค๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ๊ณ ๊ณ์ ์ง ๊ถ๊ธํฉ๋๋ค.
์ ๋ต์ ์๊ฒ ์ง๋ง.. ๋๋ฒ๊น
์ด ํ์ํ ๋ถ๋ถ์ ์ฑ๊ธํค ๋งค๋์ , UI๋ ์ฌ์ด๋๋งค๋์ , ๊ฒ์๋งค๋์ ์ ๊ฒฝ์ฐ๋ SO๋ฅผ ์ด์ฉํ ์ ๋ํฐ์ด๋ฒคํธ ๋๋ค ์ ์ ํ๊ฒ ์ฌ์ฉํ๋๊ฒ ์ต์ ์ด๊ฒ ์ฃ ?
์ฒ์ ์ค๊ณํ ํ๋ก์ ํธ์ ์๊ฐ๋์ํ๊ณ ๊ณ์ ์ด๋ง ๋ง๋ถ์ฌ์ ๊ฒฐ๊ตญ ๋ค์ฃฝ๋ฐ์ฃฝ ์คํ๊ฒํฐ ์ฝ๋๊ฐ๋ ์ง๊ธ ๋ฆฌํฉํ ๋ง์ด ํ์ํ๊ฑฐ๊ฐ๊ณ ๋๋ฌด ๋ต๋ตํด์ ์ง๋ฌธํ์ต๋๋คใ
ใ
- dc official App
SO๊ฐ ScriptableObject์ ์ฝ์์?
์ ๋ง์ต๋๋ค - dc App
1. ํจ์จ์ ํ๋กํ์ผ๋ฌ ๋๋ฆฌ๋ฉด ์์ธํ ์๊ฒ ๋ค๋ง ๊ฐ๋ ์ฑ์ผ๋ก์ ํ์๊ฐ ๋์๋ป // 2. ์ธ์คํํฐ์ ํด๋ผ์ค ์ ๋ ฅํ๋ ๊ฑด null๊ฐ๋ก ์์ผ๋ฉด findObjectOfType์ผ๋ก ์๋์ฒ๋ฆฌ, void OnValidate() ์ฐธ์กฐ //
๋์ ๊ฐ์ฌํฉ๋๋ค!
1๋ฒ ๋งํฌ
https://unity.com/kr/how-to/architect-game-code-scriptable-objects
- dc App
2๋ฒ ๋งํฌ
https://docs.unity3d.com/ScriptReference/Events.UnityEvent_1.html
- dc App
https://github.com/UnityTechnologies/open-project-1
์ฐธ๊ณ ํด๋ณด์ญ์ผ
github wiki๋ ์ ๋ํฐ ๊ณต์ ์ ํ๋ธ์ ์ค๋ช ๋ค๋ ๋ง์ด์ฌ๋ผ์์์ต๋๋ค. SO ์ฌ์ฉํด์ ๊ตด๋ฌ๊ฐ๋๋ค
์.. ๊ฐ์ฌํฉ๋๋ค ์ผ์ธใ ใ