๊ธฐ๋ณธ์ ์ผ๋ก ๊ณต๊ฒฉ๋ ฅ ๊ณต๊ฒฉ์๋ ์ฌ๊ฑฐ๋ฆฌ ์ด์์๋ ํ์ ์๋๊ฐ ์๊ณ
๊ฒ์ ๋ฐ์์ ์๊ตฌ ์ ์ฉ๋๋ ์คํ
์ค๋์ดํผํฐ๋ ์ธ๊ฒฝ์ฐ ๋ฐฉ์ด๊ตฌ ๊ดํต๋ ฅ ์คํ ์ ์ฐ์ผ๋ฉด ์ถ๊ฐ
๋ ธ๋ง ํฐ๋ ์ธ ๊ฒฝ์ฐ ๋ฐ๋ฏธ์ง ์ถ๊ฐ ์คํ ์ ์ฐ์ผ๋ฉด ์ถ๊ฐ ์ด๋ฐ๊ฑฐ ์ด์บํด?
๊ฒ์ ํ๋ ์ด์ค ์ ๊ทธ๋ ์ด๋
๊ณต๊ฒฉ๋ ฅ์ฆ๊ฐ ๊ณต๊ฒฉ์๋์ฆ๊ฐ ์ฌ๊ฑฐ๋ฆฌ์ฆ๊ฐย
๊ฐ๋จํ ์คํฏ์ด๋ฉด ์คํฏ์ enum๊ฐ์ผ๋ก ๋ง๋ค๊ณ ์คํฏ ๊ด๋ฆฌ์ฉ ๋์ ๋๋ฆฌ๋ ๋ฆฌ์คํธ์ ๋ฃ์ผ๋ฉด ๋ ๋ฏ?
Turret์ด๋ผ๋ ํด๋์ค๊ฐ ์๊ณ NomalTurret SniperTurret ์ด๋ ๊ฒ ์๋๋ ์คํ ๊ด๋ จํด์ Turret์ ๋ฃ์ด๋๊ณ ๊ฑฐ๊ธฐ์ ๋ฆฌ์คํธ๋ก ๊ด๋ฆฌํด์ผํ๋?
enum eStatus { AttPower, AttSpeed, Distance, BaseStat, ์ถ๊ฐ์คํฏ1, ์ถ๊ฐ์คํฏ2 } ์ด๋ฐ์์ผ๋ก ์ฐ๊ณ ๋์ ๋๋ฆฌ๋ก ๊ธฐ๋ณธ์คํฏ ์ด๊ธฐํ์ํค๊ณ ์ถ๊ฐํ ์คํฏ์ ๋ ์ถ๊ฐํ๊ณ
for (int i = 0; i < (int)eStatus.BaseState; i++) { dic.Add((eStatus)i, 0f); } ์ด๋ ๊ฒ์ฐ๋ฉด ๊ธฐ๋ณธ ์คํฏ์ด ์ด๊ธฐํ๋์์ ์ถ๊ฐํ๋ ค๋ฉด dic.Add(ํด๋น์คํฏ enum, ์คํฏ๋ฐธ๋ฅ) ์ด๋ ๊ฒ ์ถ๊ฐํ๋ฉด๋๊ณ
์คํ ๋ง๊ณ ํน์ฑ๊ฐ์๊ฑด ์ด์บํด์ผํจ? ๊ณต๊ฒฉํ๋ฉด ๋ถํ์ค๋ฅธ๋ค ์ด๋ฐ๊ฑฐ
์ด๊ฑฐ๋ ๋น์ทํ๊ฒ ๊ฐ๋ฅํ๊ฑด๊ฐ
๊ทธ๋ฐ๊ฑด ๋ฐ๋ก buff debuff ํด๋์ค๋ฅผ ๋ง๋๋๊ฒ ํธํ์ง
๋๋ชจ ์ด๋ ต๊ณ ~
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
๊ด๋ฆฌํ๋๊ฑฐ๋ ๊ฐ ์ฐฎ์๋ ์ถ๊ฐํ๋๊ฒ ์๋์๊ทธ๋
๋ชจ๋ ํฌํ์ ๋ณ์ ๋ฃ๊ณ ํน์ฑ ์๋๊ฑด 0์ผ๋ก ๋ฐ์๋ฒ๋ฆฌ๋๊ฒ ๊ด๋ฆฌํ๊ธฐ ์ฌ์ธ๋ฏ?
์ ๊ธํ๋ฉด ํน์ ํฌํ๋ง ๋ณ์์ ์ถ๊ฐ๋๊ณ
ํน์ฑ ์ถ๊ฐํ ๋ ์์๋ณด๋ค '๋ถ์ฐฉ๋ฌผ ์คํ์ผ'๋ก ํ๋ํ๋ ๋ถ์ฌ๊ฐ๋๊ฒ ๋์, ์์๋ก StatAddBase์ ์ฟจํ์, ๋๋ฏธ์ง, ๋ง๋์๋น ๋ฑ๋ฑ ๊ธฐ๋ณธ์ ๊ธฐ๋ฅ์ด ๋ค์ด์๋ค๊ณ ํ์
๊ทธ๋ฌ๋ฉด ๋ณด์กฐํด๋ผ์ค์ ๊ณต๊ฒฉ์ , ๋ฐฉ์ด์ , ์๊ธฐ์์ ์ผ๋ก ๋๋์ด ์๋ก ํน๋ณํ ํ๊ฒํ ๋ฐฉ์์ด ๋์ด ๊ทธ๋ค์์ ์กํฐ๋ธ ํจ์๋ธ๋ก ๋๋๊ณ , ๊ณต๊ฒฉ์ ํด๋ผ์ค์ ํฑ๋น ๋๋ฏธ์ง ์ฆ๊ฐ ๋๋ฏธ์ง ๋ฃ๊ฑฐ๋ ๋ฐฉ์ด์ ํด๋ผ์ค์ ํ์ด๋ผ๋๊ฐ ๋ฒํ๋ผ๋๊ฐ ๋ฃ๋ ๋ฑ๋ฑ ๋ฐฉ์์ด ์์
์ด๊ฑธ scriptableObject๋ก ์ฒ๋ฆฌํ๋๊ฐ ํ๋ฆฌํน์ผ๋ก ์ฒ๋ฆฌํ๋๊ฐ ๋ ์์ ์, ํน์ ํน์ ํ ์ง์ , ์ง์ข ์ ๋ฐ๋ผ ํน์ํ ์คํ ์ ๋ฃ๊ณ ์ถ๋ค? ๊ทธ๋ฌ๋ฉด ๊ทธ ์คํ ์ ์ด๋ป๊ฒ ๊ธฐ์กด์ ์๋ ์คํ ์ ์ด๋ป๊ฒ ์ํฅ์ ๋ผ์น ๊ฒ์ธ๊ฐ๊ฐ ์ค์ํจ, ๋ง์ฝ ์์ ์๋ก์ด๊ฑฐ๋ฉด ์๋ก์ด ํด๋ผ์ค๋ฅผ ๋ง๋๋ ์ ๋ฐ์
์๋ฅผ ๋ค์ด, ์ ๊ฒฉ ํฐ๋ ์ ๋ฐฉ์ด๋ฌด์ ์คํ ์ด ์๋ค๋ฉด ์ด๋ํฐ ํจํด์ผ๋ก ์ฐ๊ฒฐ ํด์ ๋๋ฏธ์ง์ ์ฐ๋์ํฌ ์ ์์ง๋ง ์ ์ ๋ซ๋ ์์ด๋ผ๋ฉด ์๋กญ๊ฒ PenerateEffect ๋ณด์กฐ ํด๋ผ์ค ๋ง๋ค์ด์ ๋ถ์ฐฉํด์ผํจ
๊ทธ์ธ ๋ฐฉ์์ ์ฌ๋ฌ๊ฐ์ง์ธ๋ฐ ํ๋ํ๋ ์ค๋ช ํ๊ธฐ ์ฅ๋ํ๊ณ ๋ด ์ค๋ ฅ์ด ๋ธ๋ ค์ ์ฌ๊ธฐ๊น์งํจ ํฌ๊ธฐํ์ง๋ง๊ณ ์ด๋ ์๋ฌด๊ฒ๋ ์๋ ๋ฒฝ์ ๊ธฐ๋์ ๊ณ ๋ฏผํด๋ณด๋ ๋ฑ๋ฑ ๋ ธ๋ ฅํด๋ณด๋ฉด ๋ฌด์ธ๊ฐ... ๋ต์ด ๋์ฌ๊บผ์, ์๋๋ฉด ๋ญ ๊ณ์ ๊ฒ์ํด๋ณด๋๊ฐ
๋ฒฝ์ ๋จธ๋ฆฌ๋ฐ๊ณ ์๊ฐ์ค
Finite State Machine : FSM์ด๋ผ๊ณ ์ฝ๋ํจํด์์ผ๋ ์ฐพ์๋ด~ ์ข ๋ณต์กํด์ง๋ค ์ถ์ผ๋ฉด ๋๋FSM ํจํด์จ