๋ฆฌํฉํ ๋ง ๋ด์ฉ
์์ฝ
- ์ ํฌ ๋ก์ง ๋ถ๋ฆฌ :
BattleField.tsx->battle.ts - ๋ ๋ฒจ์
๋ก์ง ๋ถ๋ฆฌ :
useGameStore.ts->battle.ts - storage ์ถ์ํ ๊ณ์ธต ์ถ๊ฐ :
storage.tsํ์ผ ์ถ๊ฐ (๋ค๋ฅธ ๊ธ์์ ๋ค๋ฃฌ๋ค) - encounter ์์กด์ฑ ์ฃผ์
:
encounter.ts(๋ค๋ฅธ ๊ธ์์ ๋ค๋ฃฌ๋ค)
์ ํฌ ๋ก์ง ๋ถ๋ฆฌ
BattleField ์ปดํฌ๋ํธ ์์ ์ ํฌ ๋ก์ง์ ๋ฐ๋ก ๋ถ๋ฆฌํ๋ค. (UI๋ ๋๋ง๊ณผ ๋น์ฆ๋์ค๋ก์ง์ ๊ด์ฌ์ฌ ๋ถ๋ฆฌ)
๋ ๋ฒจ์ ๋ก์ง ๋ถ๋ฆฌ
useGameStore์ Store Action (์ํ๋ฅผ ๋ณ๊ฒฝํ๋ ํจ์) ์์ ๋ฐ๋ก ์์ ํจ์๋ก ๋ถ๋ฆฌ๋ ์ ์๋ ๋ก์ง์ด ์์๋ค.
addExpToLeadPkmon: (exp) =>
set((state) => {
// ๋ ๋ฒจ์
๋ก์ง์ด action ์์ ํฌํจ (30์ค+)
const newLevel = getLevelFromExp(newExp);
if (newLevel > oldLevel) {
const species = PKMON_SPECIES.find(...);
const levelDiff = newLevel - oldLevel;
// ๋ณต์กํ ์คํฏ ๊ณ์ฐ...
}
})
- ํ์ฌ ๊ฒฝํ์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์๋ก์ด ๋ ๋ฒจ์ ๊ตฌํ๊ณ
- ๋ ๋ฒจ์ด ์ฌ๋๋ค๋ฉด ๋ฅ๋ ฅ์น๋ฅผ ๋ํด์ค๋ค.
์ด ๊ธฐ๋ฅ์ ๊ทธ๋๋กbattle.ts์ ์์ฑํ๊ณ ๋ถ๋ฌ์์ ์ฌ์ฉ.