์šฐ์„  ๊ธฐ์ดˆ ์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ ์•„์ดํ…œ์˜ ๊ตฌ์กฐ์™€ ๊ณต๊ฒฉ ๋ฐฉ์‹์„ ๊ณ ๋ คํ•ด์•ผํ•จ.


๋งŒ์•ฝ ์†Œ์šธ๋‚˜์ดํŠธ ์ฒ˜๋Ÿผ ์‚ฐํƒ„์ˆ˜ ์ฆ๊ฐ€, ๊ถ์ˆ˜์˜ ์ „์„ค์ฒ˜๋Ÿผ ๋ฐœ์‚ฌ ํšŸ์ˆ˜ ๋ฐœ์‚ฌ ์ˆ˜ ์ฆ๊ฐ€ ๊ฐ™์€๊ฑด ์• ์ดˆ์— ์„ค๊ณ„๋ถ€ํ„ฐ ์ด์•Œ์ด ๋‚˜๊ฐˆ๋•Œ ๋‚˜๊ฐ€๋Š” ์ˆ˜๋ฅผ ๋ณ€์ˆ˜๋กœ ์ง€์ •ํ•ด์„œ ๊ทธ ์ˆ˜์— ๋งž์ถฐ์„œ ๋ฐœ์‚ฌ๋˜๋Š” ์‹์œผ๋กœ ๋”ฐ๋กœ ์„ค๊ณ„ํ•ด์•ผํ•จ.


์•„์ด์ž‘ ์ฒ˜๋Ÿผ ๊ณต๊ฒฉ ๋ฐฉ์‹์ด ๋‹ค์–‘ํ• ๊ฒฝ์šฐ ํ›จ์”ฌ ๋ณต์žกํ•œ ๋กœ์ง์„ ์š”๊ตฌํ•จ.


๊ทธ ์  ์œ ์˜ํ•˜๊ณ  ๋‚˜๋Š” ์ผ๋‹จ ์ด์„ ์˜๊ณ , ์ƒํ•˜์ขŒ์šฐ๋กœ ์›€์ง์ด๋Š” ์ˆ˜์ค€์˜ ๊ฒŒ์ž„์—์„œ ์„ค๋ช…์„ ํ•ด๋ด„.


์šฐ์„  ๋Šฅ๋ ฅ์˜ ๋ฐœ๋™ํ•ด์•ผํ•˜๋Š” ํƒ€์ด๋ฐ์„ ์„ธ๋ถ„ํ™”ํ•ด๋†”์•ผํ•จ.


์˜ˆ๋ฅผ๋“ค์–ด ์ด๋™ํ• ๋•Œ ์ž‘๋™ํ•˜๊ฑฐ๋‚˜, ๊ณต๊ฒฉํ• ๋•Œ๋งˆ๋‹ค, ์ ์—๊ฒŒ ๋งž์•˜์„๋•Œ, ์ ์—๊ฒŒ ํ”ผํ•ด๋ฅผ ์ž…ํ˜”์„๋•Œ, ์ ์ด ํ”ผํ•ด๋ฅผ ์ž…์—ˆ์„๋•Œ ๊ฐ™์ด.


๊ทธ ๋‹ค์Œ์€ ์•„์ดํ…œ์˜ ํด๋ž˜์Šค๋ฅผ ๊ตฌํ˜„ํ•ด์•ผํ•จ.



๋ชจ๋“  ์•„์ดํ…œ์˜ ๊ณตํ†ต ์š”์†Œ๋ฅผ ๋‹ด์•„์•ผํ•จ.


์•„์ดํ…œ์„ ์–ป์—ˆ์„๋•Œ(GetItem)ย / ์•„์ดํ…œ์„ ์žƒ์—ˆ์„๋•Œ(DelItem)ย ๋‘ ๊ฐ€์ง€๋ฅผ ์ถ”์ƒ ํด๋ž˜์Šค๋กœ ๊ตฌํ˜„ํ•˜๋Š”๊ฒŒ ์ข‹๊ฒ ์ง€.


๊ทธ ๋‹ค์Œ ๊ฐœ๋ณ„ ์•„์ดํ…œ์— ์ƒ์Šนํ•˜๋Š” ํด๋ž˜์Šค์— ์•„์ดํ…œ ํด๋ž˜์Šค๋ฅผ ์ƒ์†์‹œ์ผœ์คŒ.




์˜ˆ๋ฅผ๋“ค์–ด 3๋ฒˆ์งธ ๊ณต๊ฒฉ๋งˆ๋‹ค ๊ฐ•ํ™”๋œ ๊ณต๊ฒฉ์„ ๋ฐœ์‚ฌํ•˜๋Š” ์•„์ดํ…œ์„ ์–ป๋Š” ๋กœ์ง์„ ์„ค๋ช…ํ•ด๋ณด๊ฒ ์Œ.


Triple์ด๋ž€ ํด๋ž˜์Šค๋Š” Item์˜ ์ƒ์†์„ ๋ฐ›์Œ.


๋‚ด๋ถ€์—๋Š” counter ๋ผ๋Š” ๋ณ€์ˆ˜๊ฐ€ ์žˆ์–ด์„œ ๊ณต๊ฒฉ์‹œ๋งˆ๋‹ค 1์”ฉ ๋”ํ•ด์ ธ์„œ 3์ด๋˜๋ฉด ์ถ”๊ฐ€ ๊ณต๊ฒฉ์„ ๋ฐœ๋™ํ•จ.


์ถ”๊ฐ€๊ณต๊ฒฉ์€ ๋‚ด๊ฐ€ ๋ฐœ์‚ฌํ•  ํƒ„ํ™˜์ด ์กฐ๊ธˆ ๋” ์ปค์ง€๊ณ  ๋ฐ๋ฏธ์ง€๋„ ์กฐ๊ธˆ ๋” ์ปค์ ธ์•ผํ•จ.


๊ทธ๋ ‡๊ธฐ์— ๊ณต๊ฒฉ์‹œ์˜ ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ์—๋Š” ์ด์•Œ์˜ ์ •๋ณด๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๊ฐ–๊ณ  ์‹คํ–‰ํ•ด์•ผํ•จ.


Triple ํด๋ž˜์Šค์— BonusAttack์ด๋ž€ ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•จ. ๊ทธ๋Ÿฐ๋‹ค์Œ Triple์˜ ์ƒ์†๋ฐ›์€ GetItem ํ•จ์ˆ˜์—์„œ ํ”Œ๋ ˆ์ด์–ด์˜ ๊ณต๊ฒฉ์‹œ ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ์— BonusAttack์„ ๋”ํ•ด์คŒ.


BonusAttack์ด๋ž€ ํ•จ์ˆ˜๋Š” ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค counter์— 1์„ ๋”ํ•˜๊ณ  3์ด ์•„๋‹๊ฒฝ์šฐ ๋ฐ›์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜ํ•˜์ง€๋งŒ, 3์ผ๊ฒฝ์šฐ ๋ฐ›์€ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ size๊ฐ’๊ณผ damage๊ฐ’์— 1.5f์”ฉ ๊ณฑํ•ด์คŒ.


DelItemํ•จ์ˆ˜์—์„  ํ”Œ๋ ˆ์ด์–ด์˜ ๊ณต๊ฒฉ์‹œ ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ์—์„œ BonusAttack ํ•จ์ˆ˜๋ฅผ ์ง€์›Œ์ฃผ๋ฉด ๋˜๊ฒ ์ง€.



๊ณต๊ฒฉ์‹œ ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ์˜ ์—ฐ์‚ฐ์ด ๋๋‚˜๋ฉด ๋ฐ˜ํ™˜๋œ ์ด์•Œ์˜ ์ •๋ณด๋ฅผ ํ† ๋Œ€๋กœ ์ด์•Œ์„ ์ƒ์„ฑํ•˜๋ฉด ์™„๋ฃŒ.





๊ทธ๋Ÿผ ๋‹ค์Œ์€ ์ด๋™ํ•˜๋ฉด ๋ฐ”๋‹ฅ์— ๋ถˆ์„ ๋‚จ๊ธฐ๋Š” ์•„์ดํ…œ์„ ๊ตฌํ˜„ํ•ด๋ณด๋ ค๊ณ  ํ•จ.


ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋™ ๋กœ์ง์— ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ด๋™ ์‹œ ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ๋ฅผ ๋„ฃ์–ด์คŒ.


FireWalk ํด๋ž˜์Šค๋Š” Vector3์˜ lastPosition์ด๋ผ๋Š” ๋ณ€์ˆ˜์™€ย CheckDistance ๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•จ. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ GetItem ํ•จ์ˆ˜์—์„œ ์ด๋™์‹œ ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ์— ๋”ํ•ด์คŒ.


CheckDistance ํ•จ์ˆ˜๋Š” lastPosition๊ณผ ๊ฑฐ๋ฆฌ๊ฐ€ 0.5f ์ด์ƒ ๋ฒŒ์–ด์ง€๋ฉด lastPosition์„ ํ˜„์žฌ ์œ„์น˜๋กœ ๋ฐ”๊พธ๊ณ  ๊ทธ ์ž๋ฆฌ์— ๋ถˆ์„ ์ƒ์„ฑํ•จ.





๊ทธ๋Ÿฐ ๋‹ค์Œ์€ 10์ดˆ๋งˆ๋‹ค ์ฃผ์œ„๋กœ ๋ถˆ์„ ๋ฟœ๋Š” ์•„์ดํ…œ์„ ๊ตฌํ˜„ํ•ด๋ณด๋ ค๊ณ  ํ•จ.


ํ”Œ๋ ˆ์ด์–ด์˜ Update์—์„œ Always ๋ผ๋Š” ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ๋ฅผ ๊ตฌํ˜„ํ•จ.


FireCape๋ผ๋Š” ํด๋ž˜์Šค๋Š” ๋‚ด๋ถ€์— lastTime์ด๋ผ๋Š” Time ๋ณ€์ˆ˜๋ฅผ ๊ฐ–๊ณ  ์žˆ์Œ. Time๋ณ€์ˆ˜๋Š” ์ด์ „์— ๋ฐœ๋™ํ•œ ์‹œ๊ฐ„์„ ๋‹ด์Œ.ย Time.time - lastTime์ด 10๋ณด๋‹ค ํด ๊ฒฝ์šฐ lastTime์„ Time.time์œผ๋กœ ์„ค์ •ํ•˜๊ณ  ๋ถˆ์„ ๋ฐฉ์ถœํ•จ.





๋ญ ๋Œ€๋žต ์ด๋Ÿฐ์‹์œผ๋กœ ๋ฐœ๋™ ์‹œ๋ฅผ ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ๋กœ ๋‚˜๋ˆ„๊ณ , ์•„์ดํ…œ์˜ ํด๋ž˜์Šค์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์ด ์žˆ์Œ.


์•”ํŠผ ์ด๋Ÿฐ์‹์œผ๋กœ ํ•˜๋ฉด ๋จ.