๊ตฌ์ : ๊ฒ์ ์คํํด์ ๋ฉ์ธํ๋ฉด์์ a,b ๋ฑ ์ฌ๋ฌ ์ข
๋ฅ์ ์บ๋ฆญํฐ๊ฐ ์๊ณ ๊ฐ์ ์คํฏ์ ๋ค๊ณ ์์.ย
์ด๊ฑธ ๋ฉ์ธํ๋ฉด์์ ์
๊ทธ๋ ์ด๋๋ฅผ ํ๋ ๋ญํ๋ ์คํฏ์ ๋ณ๊ฒฝํ ์ ์๊ณ ์บ๋ฆญํฐ ํ๋ ์ ํํด์ ๊ฒ์์ ์์ํ๋ฉด ๊ทธ ์บ๋ฆญํฐ์ ์คํฏ์ผ๋ก ๊ฒ์์์
1. ๊ฐ๋ฐ๋จ๊ณ์์ a,b ์บ๋ฆญํฐ์ ์คํฏ์ด ๋ด๊ธด so๋ฅผ ์์ฑ. (์คํฏ์ ์ข
๋ฅ hp,atk)
a.so (hp:10, atk:4)
b.so (hp:12, atk:3)
2. ์๋ฌด๊ฒ๋ ์์๋ฐ์ง ์๋ ์บ๋ฆญํฐ์คํฏ์ด๋ผ๋ ํด๋์ค ์กด์ฌ (CharacterStat)
private float hp; / public float Hp => hp; / public void UpgradeHp() {๋์ถฉ๊ตฌํ}ย
public void InitStats(so) { a.so๊ฐ์ ์บ๋ฆญํฐso ๋ฐ์์ ์คํฏ์ด๊ธฐํ }
3. ๊ฐ ์บ๋ฆญํฐ์ ์คํฏ์ ๊ด๋ฆฌํ๋ db ์กด์ฌ
Dic<์บ๋ฆญํฐํ์
enum, CharacterStat> db
4. ์ ์ ๊ฐ ๋ฉ์ธํ๋ฉด์์ b ์บ๋ฆญํฐ์ hp ์
๊ทธ๋ ์ด๋ ๋ฒํผ ํด๋ฆญ
db[b].UpgradeHp(); ํธ์ถ
5. ์ ์ ๊ฐ b๋ฅผ ์ ํํด์ b์บ๋ฆญํฐ๋ก ๊ฒ์์์
Player.cs๊ฐ ๋ค๊ณ ์๋ CharacterStat stat;์ db์์ b์ ์คํฏ์ ๊ฐ์ ธ์์ ์ด๊ธฐํ
์ดํ stat์ ์๋ hp,atk ๊ฐ์ ธ์์ ์ญ ๊ฒ์์งํ
๋์ถฉ ์ด๋ฐ ํ๋ฆ ๋ง์๊น์.. ์บ๋ฆญํฐ ์ข ๋ฅ๋ง๋ค ๊ฐ์ ์คํฏ์ ๊ฐ์ง๊ณ ์์ด์ ์ด๊ฑธ ๊ฐ ์บ๋ฆญํฐ๋ง๋ค ๊ด๋ฆฌํด์ฃผ๋ ๋์ ๋๋ฆฌ๊ฐ์๊ฒ ์์ด์ผ ํ ๊ฑฐ๊ฐ๋๋ฐ
๊ทผ๋ฐ ์๊ฐํด๋ณด๋ ๋ฑ์๋ฅ์์ ๋ณดํต ์คํฏ์ ๊ธ์ ๊ณตํต์ ์ฉ์ด์ง ๋ฐ๋ก์ ์ฉ์ด ์๋๋ค. ์๊ฐํด๋ณด๋ ๊ณตํต์ ์ฉ์ผ๋ก ๋ง๋ค๋ฉด ํจ์ฌ ํธํ๊ฒ ๋ค์..
'์บ๋ฆญํฐ๋ง๋ค ๊ฐ๋ณ์ ์ผ๋ก ์คํฏ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ณ ๋ถ๋ฌ์ค๊ณ ์ถ๋ค'๋ก ์ดํดํ๋๋ฐ ๋ง๋ ๋ชจ๋ฅด๊ฒ ๋ค. ์ผ๋จ ๋ด๊ฐ ์ดํดํ ๋๋ก ์์ฑํด๋ด.
https://gall.dcinside.com/game_dev/172506