24b0d121e09c28a8699fe8b115ef046a7969ebc9


์Šคํ‚ฌ ์—ญํ• ์„ ํ•˜๋Š” ScriptableObject๋ฅผ ํ•˜๋‚˜ ์ž‘์„ฑํ•จ.

๋‚˜๋Š” Name์„ string์œผ๋กœ ๊ด€๋ฆฌํ•˜์ง€๋งŒ, enum์œผ๋กœ ํ•˜๋“  json ์ปฌ๋Ÿผ ๊ฐ’์œผ๋กœ ํ•˜๋“  ์ž์œ 

์“ด์ด๊ฐ€ ์–ธ๊ธ‰ํ•œ ๊ฐœ๋ณ„ ์Šคํ‚ฌ (cs ํŒŒ์ผ๋“ค)์€ IEnemyAttack ์ด๋ผ๋Š” ์ƒ์„ฑ์ž๋ฅผ ๊ฐ€์ง„ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๊ตฌํ˜„ํ•จ


24b0d121e09c28a8699fe8b115ef046c63f62f4a99

๋‚ด ๊ฒŒ์ž„์˜ ์Šฌ๋ผ์ž„์ด ๋ฐœ์‚ฌํ•˜๋Š” ํƒ„๋ง‰์— ๋Œ€ํ•œ ์Šคํ‚ฌ ์Šคํฌ๋ฆฝํŠธ์ž„.

์ด IEnemyAttack์„ ์ธ์Šคํ„ด์Šคํ™” ์‹œ์ผœ์ฃผ๋Š”๊ฒŒ ์Šคํฌ๋ฆฝํ„ฐ๋ธ” ์˜ค๋ธŒ์ ํŠธ์— ๊ตฌํ˜„๋˜์–ด ์žˆ์Œ.

์ด๊ฒƒ๋˜ํ•œ ์ธ์Šคํ„ด์Šค๋‹ˆ ์‚ฌ์šฉํ•˜๊ณ ๋‚˜๋ฉด GC๋ณด๊ณ  Dispose ์‹œ์ผœ์ฃผ๋Š” ์ฝ”๋“œ๋Š” ๋„ฃ์œผ๋ฉด ๋จ


์ด๋Ÿฐ์‹์œผ๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ๋ณธ์ธ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š”,

์Šฌ๋ผ์ž„์—๊ฒŒ IEnemyAttack์œผ๋กœ ๊ตฌํ˜„๋œ ์Šคํ‚ฌ 3๊ฐœ๋ฅผ ๋ฆฌ์ŠคํŠธ๋กœ ์ค˜์„œ. 3๊ฐœ์˜ ํŒจํ„ด์„ ์‚ฌ์šฉํ•จ


์ด๊ฒŒ ์ •๋ง ์ตœ์ ์ธ์ง€, ์ •๋‹ต์ธ์ง€๋Š” ์ž˜ ๋ชจ๋ฆ„.

๊ทธ๋ƒฅ ๋‚˜๋Š” ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉํ•จ