ํฌ๋ฆฌ์Šค๋งˆ์Šค๋ผ๊ณ  ๋ชปํ•œ ๊ฒŒ์ž„์ด๋‚˜ ํ•ด์•ผ์ง€ ํ–ˆ๋Š”๋ฐ ์ด์   ๊ฒŒ์ž„์„ ํ•˜๋ฃจ์ข…์ผ ํ•  ์ฒด๋ ฅ๋„ ์—†๋‹ค.

๋‚ฎ์ž  ์ข€ ์ž๊ณ  ์ผ์–ด๋‚˜๋‹ˆ ๊ณจ๋“œ๋ฉ”ํƒˆ์ด ์œ ํŠœ๋ธŒ ๊ฐ•์ขŒ ์—…๋ฐ์ดํŠธ ํ–ˆ๋”๋ผ.

์ ์šฉํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.


1. EnemySpawnTable ์ž‘์„ฑ.



ํ…Œ์ด๋ธ” ๋งค๋‹ˆ์ € ๋งŒ๋“ค์–ด๋†“์€๊ฒŒ ์•„๊นŒ์›Œ์„œ ํ…Œ์ด๋ธ” ๋งŒ๋“ ๋‹ค.

๊ฐ•์ขŒ์—์„œ๋Š” SpawnData์— ์  ์บ๋ฆญํ„ฐ์˜ ์ฒด๋ ฅ๊ณผ ์†๋„๋ฅผ ๋„ฃ์—ˆ๋Š”๋ฐ, ์–ด์ œ ์  ์บ๋ฆญํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ ๊ฒŒ ์žˆ๊ธฐ๋•Œ๋ฌธ์—

EnemeyData์˜ Id๋ฅผ ๋ฌผ๊ณ ์„œ ์—ฐ๊ฒฐ์‹œ์ผฐ๋‹ค.



์™„์„ฑ๋œ ์Šคํฐ ๋ฐ์ดํ„ฐ, ์ข€ ๋” ๋‹ค๋“ฌ์œผ๋ฉด EnemeyData๋ฅผ ์—ฌ๋Ÿฟ๋‘๊ณ  ๋น„์œจ๋ณ„๋กœ ๋žœ๋คํ•˜๊ฒŒ ํŠ€์–ด๋‚˜์˜ค๋„๋ก๋„ ๊ฐ€๋Šฅํ•˜๊ฒ ์ง€๋งŒ ์ผ๋‹จ ๊ท€์ฐฎ์•„์„œ.



ํ…Œ์ด๋ธ” ํด๋ž˜์Šค์˜ ๋กœ์ง. ๊ฒŒ์ž„ ์‹œ์ž‘์‹œ์— ๋กœ๋“œํ•œ ๋ฐ์ดํ„ฐ๋ฅผ datas์—์„œ dictionary๋กœ ๊ด€๋ฆฌํ•˜๊ณ  Get, Count๋“ฑ์„ ๋ฐ‘์— ๊ตฌํ˜„ํ–ˆ๋‹ค.

์ฐธ๊ณ ๋กœ data๋Š” datum์˜ ๋ณต์ˆ˜ํ˜•์ด๋‹ค. data์˜ ๋ณต์ˆ˜ํ˜•์ด datas๊ฐ€ ์•„๋‹ˆ๋‹ค.




2. ์  ์บ๋ฆญํ„ฐ ์Šคํฐ ์ถ”๊ฐ€.



์˜ˆ์ „์— ๋งŒ๋“ค์–ด๋‘” EnemyManager ์‹ฑ๊ธ€ํ„ด ํด๋ž˜์Šค์—์„œ ์  ์บ๋ฆญํ„ฐ์˜ ์Šคํฐ์„ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ๋กœํ–ˆ๋‹ค.

๊ธฐ๋ณธ ๋กœ์ง์€ ๊ณจ๋“œ๋ฉ”ํƒˆ ๊ฐ•์ขŒ์™€ ๋™์ผํ•˜๋‹ค. 10์ดˆ๋งˆ๋‹ค ๋‚œ์ด๋„ ๋ ˆ๋ฒจ์—…,

๋ ˆ๋ฒจ์— ๋งž์ถฐ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์Šคํฐ ๋”œ๋ ˆ์ด๊ฐ€ ์ฐจ๋ฉด ์ ์„ ์Šคํฐํ•œ๋‹ค.

์–ด, ๋ณ‘์‹ ์ธ๊ฐ€. ์Šคํฐ ํ›„์— timer ์ดˆ๊ธฐํ™”๋ฅผ ์•ˆ๋„ฃ์—ˆ๋‹ค. ํ‰์†Œ์—๋„ ์ฝ”๋“œ ๋ฆฌ๋ทฐํ•˜๋Š” ๊ธฐ๋ถ„์œผ๋กœ ์ผ์ง€์“ฐ๋ฉด์„œ ๋งŽ์ด ๊ณ ์นœ๋‹ค.


level์— +1์„ ํ•œ ์ด์œ ๋Š” ํ…Œ์ด๋ธ”์˜ ์ธ๋ฑ์Šค๋ฅผ ๊ณจ๋“œ๋ฉ”ํƒˆ์€ 0๋ถ€ํ„ฐ ํ–ˆ๋Š”๋ฐ ๋‚˜๋Š” 1๋ถ€ํ„ฐ ํ•ด์„œ ๊ทธ๋ ‡๋‹ค.

๊ฐ•์ขŒ์—์„œ๋Š” ํด๋ž˜์Šค์— ๋ฐฐ์—ด๋กœ ๋ฐ•์•„์„œ ์ผ์ง€๋งŒ ๋‚œ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค์—ˆ์œผ๋‹ˆ ๋ฐ์ดํ„ฐ๋ฅผ ํ…Œ์ด๋ธ”ํด๋ž˜์Šค์—์„œ ์ฝ์–ด์˜ค๋ฉด ๋œ๋‹ค.