๐ ์ค๋ ํ ์ผ
UI/UX ์ ๋ด ์ญํ ๋ก์ ์คํฌํธ๋ฆฌ ํ๋ฉด์ ์ ๋ฐ์ ํ๋ฆ๊ณผ ๊ตฌ์กฐ๋ฅผ ๊ณ ๋ฏผ
์คํฌ ๋ฐ์ดํฐ ๋ชจ๋ธ ๊ตฌ์กฐ ์ค๊ณ ์๋๋ฆฌ์ค ์์ฑ.
ํ์ (ํ์ผ, ์ผ์, ์์ฐ, ๋ฌผ๋ฆฌ) ๋ณ ๋ถ๋ฅ์ ๋จ๊ณ(์ด๊ธ, ์ค๊ธ, ์๊ธ) ๊ตฌ๋ถ ์ ์
UI ์์์ ์คํฌํธ๋ฆฌ๋ฅผ ์ค์ → ๋ฐ๊นฅ์ผ๋ก ํ์ฅ๋๋ ํํ๋ก ๋ฐฐ์น
์คํฌ ํด๊ธ ํ๋ฆ(ํฌ์ธํธ ์ฌ์ฉ → ํด๊ธ → ๋ค์ ๋จ๊ณ ํด๊ธ ๊ฐ๋ฅ) ์ค๊ณ ๊ตฌ์
๐ ๊ณ ๋ฏผํ ๋ด์ฉ
์คํฌ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ ์ง(ScriptableObject ๋ชจ๋ธ ์ค๊ณ)
ํ๋ ์ด์ด ์คํฌ ํฌ์ธํธ, ํด๊ธ ์ํ๋ฅผ ์ด๋์ ๊ด๋ฆฌํ ์ง(PlayerSkillController ๋ฑ)
UI ์์์ ์คํฌ ๋ ธ๋ ๋ฐฐ์น๋ฅผ ์ด๋ป๊ฒ ๊ตฌํํ ์ง(์ํ ๋ ์ด์์, ์ฐ๊ฒฐ์ , ๋ฝ/์ธ๋ฝ ์ํ)
์์ธ ์ค๋ช , ํฌ์ธํธ ์๋ชจ๋, ํด๊ธ ๊ฐ๋ฅ ์ฌ๋ถ ๋ฑ์ ์ด๋ป๊ฒ ํํํ ์ง
์ ์ง๋ณด์์ฑ ๋์ ์ฝ๋ ๊ตฌ์กฐ๋ก ๋๋๋ ๋ฐฉ๋ฒ..?
๐ ๋ฐฐ์ด ์
ํ ๋ฉ์๋ ํ ๊ฐ์ง ์ผ๋ง ํ๋๋ก ์ค๊ณํ๋ ์ค์์ฑ
ํด๋์ค, ๋ฉ์๋, ๋ณ์๋ช ๋ง์ผ๋ก ์ญํ ์ด ๋๋ฌ๋๋๋ก ๋ช ๋ช ํ๋ ์์น
ScriptableObject๋ฅผ ํ์ฉํด ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์ค๊ณํ๋ฉด ์ ์ง๋ณด์์ ๋ฐธ๋ฐ์ฑ์ด ํจ์ฌ ์ฌ์์ง
UX ์ค๊ณ ๋จ๊ณ์์ ๊ธฐ๋ฅ ํ๋ฆ์ ๋ช ํํ ์ก์๋๋ฉด ๊ฐ๋ฐ ๋์ด๋๊ฐ ํฌ๊ฒ ์ค์ด๋ ๋ค๋ ์
๐ ๋ด์ผ/์ถํ ํ ์ผ
์ต์ข ์์ด์ดํ๋ ์ ํ์ ๋๋ฉด ์ค์ UI ๋ฐฐ์น ๊ตฌ์กฐ ์ค๊ณ
๋จ๊ณ(์ด๊ธ, ์ค๊ธ, ์๊ธ) ๊ตฌ๋ถ ์ ์๊ฐ ํ๋ ์ด์ด ๋ฑ๊ธ ๊ธฐ์ค์ผ๋ก ์ก์๋๊ฑฐ ๊ฐ์๋ฐ,
์คํฌ๋ง์ ๋จ๊ณ๊ฐ ๋ ๋์์ง.. ๋ ผ์ํด๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
SkillData, SkillLibrary ๋ฑ ๋ฐ์ดํฐ ์คํฌ๋ฆฝํธ ์์ฑ
SkillNode, SkillTreeUI ์ปดํฌ๋ํธ ์ค๊ณ/ํ๋กํ ํ์ ์ ์
์ ๋๋ฉ์ด์ , ๋ฝ/์ธ๋ฝ ์ํ ์ ํ ํจ๊ณผ ๊ตฌ์ฒดํ
๐ ๋๋ ์
์์ง ํ์ ์์ด ๋์จ ๊ฑด ์๋์ด์ ์ค๊ณ๊ฐ ๋ฐ๋ ์๋ ์๋ค.
์์ผ๋ก๋ ๋ณ๊ฒฝ๋ ์ ์๋ค๋ ๊ฑธ ์ด์ด ๋์ด๋
๋จ์ผ ์ฑ ์, ์ฌ์ฌ์ฉ์ฑ, ์ ์ง๋ณด์์ฑ ๋ฑ์ ์ง์ผ๊ฐ๋ฉด์ ์ค๊ณํด๋๊ฐ๊ธฐ๋ ์ฒ์๋ถํฐ ์ ํ๊ณ ๊ฐ๊ธฐ ์ฝ์ง ์์
์์ ํด๊ฐ๋ฉด์ ์์ ํด์ผํ ๊ฒ ๊ฐ๋ค.