๋‚ด๊ฐ€ ๊ตฌ์ƒํ•œ UI๋Š” ์ด๋Ÿฌํ•จ.


ํ”Œ๋ ˆ์ด ์ค‘ Esc๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์ •์ง€ํ•˜๊ณ  ๋งˆ์šฐ์Šค ์ปค์„œ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋‚˜ํƒ€๋‚จ

ํ™”๋ฉด ์ค‘์•™ ์ฃผ๋ณ€์— ํด๋ฆญ์ด ๊ฐ€๋Šฅํ•œ ์ž‘์€ ํŒจ๋„์ด ๋‚˜์˜ค๊ณ  ์—ฌ๊ธฐ์„œ ํ”Œ๋ ˆ์ด์–ด ์ •๋ณด์ฐฝ/์ธ๋ฒคํ† ๋ฆฌ/์Šคํ‚ฌ์ฐฝ ๋“ฑ์˜ ํŒจ๋„์„ ์—ด ์ˆ˜ ์žˆ์Œ.

๊ฐ ํŒจ๋„์€ ๊ฐœ๋ณ„๋กœ ์กด์žฌํ•˜๋ฉฐ, ๋“œ๋ž˜๊ทธ๋กœ ์œ„์น˜์กฐ์ •์ด ๊ฐ€๋Šฅํ•˜๊ณ  ํŠน์ • ํŒจ๋„์€ ํฌ๊ธฐ ์กฐ์ •๋„ ๊ฐ€๋Šฅํ•จ.


Esc๋ฅผ ๋‹ค์‹œ ๋ˆ„๋ฅด๋ฉด ์ปค์„œ์™€ ์ค‘์•™ํŒจ๋„์€ ์‚ฌ๋ผ์ง€๊ณ  ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋‹ค์‹œ ์›€์ง์ด๊ธฐ ์‹œ์ž‘ํ•˜๋˜, ๋‚˜๋จธ์ง€ ํŒจ๋„๋“ค์€ ์ผœ์ง„์ฑ„๋กœ ์œ ์ง€๋จ.

๊ทธ๋ฆฌ๊ณ  ๊ฐ ํŒจ๋„์„ ์ผœ๊ณ  ๋Œ ์ˆ˜ ์žˆ๋Š” ๋‹จ์ถ•ํ‚ค๋„ ์กด์žฌํ•จ. I ๋ˆ„๋ฅด๋ฉด ์ธ๋ฒคํ† ๋ฆฌ๋ฅผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™” ์‹œํ‚ค๋Š” ๊ธฐ๋Šฅ.




์ธ๋ฒคํ† ๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์•ž์„œ UI์‹œ์Šคํ…œ์„ ๋งŒ๋“ค์—ˆ์Œ


UIManager์—์„œ ์ „์ฒด์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ , ๊ฐ UIํŒจ๋„ ์Šคํฌ๋ฆฝํŠธ๋“ค์€ SystemUIBase๋ฅผ ์ƒ์†๋ฐ›์Œ.

์ด ๋ฒ ์ด์Šค์—์„œ ๋ชจ๋“  UIํŒจ๋„์˜ ๊ณตํ†ต์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด๋’€์Œ. ํŒจ๋„์ด๋™๊ฐ™์€ ๊ธฐ๋Šฅ๋“ค.


UI๋Š” Player Ui Interaction ์Šคํฌ๋ฆฝํŠธ์—์„œ๋งŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•จ. ๊ทธ ์™ธ์—์„œ๋Š” ์ ˆ๋Œ€ ์ ‘๊ทผํ•˜์ง€ ์•Š๋„๋ก ๋‚˜ ์ž์‹ ๊ณผ ์•ฝ์†ํ•จ.

๋ณ„ ์˜๋ฏธ๋Š” ์—†๋Š”๋ฐ, ํ”„๋กœ๊ทธ๋žจ์ด ๋ณต์žกํ•ด์งˆ์ˆ˜๋ก ์ด๋Ÿฐ ์•ฝ์†๋“ค์ด ๋จธ๋ฆฌ๋ฅผ ์ •๋ฆฌํ•˜๋Š”๋ฐ ํฐ ๋„์›€์ด ๋˜๋”๋ผ๊ณ .



์‹ค์งˆ์ ์ธ UI๋Š” ์•„์ง ์ธ๋ฒคํ† ๋ฆฌ๋ฐ–์— ๊ตฌํ˜„ํ•˜์ง€ ๋ชปํ•จ.

์ธ๋ฒคํ† ๋ฆฌ์—์„œ๋„ ์ค‘์š”ํ•œ๊ฒŒ ์žˆ๋Š”๋ฐ, PlayerInventory์™€ InventoryUI์˜ ๊ตฌ๋ถ„์ž„.


๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” PlayerInventory์— ๋“ค์–ด์žˆ๊ณ , InventoryUI๊ฐ€ ํ•˜๋Š” ์ผ์€ PlayerInventory์˜ ๋ฐ์ดํ„ฐ๋ฅผ UI๋กœ ํ‘œํ˜„ํ•ด์ฃผ๋Š”๊ฒƒ ๋ฟ์ž„.

์˜ˆ์ •์—๋Š” ์—†์ง€๋งŒ, ๋งŒ์•ฝ ์—ฌ๋Ÿฌ ์ธ๋ฒคํ† ๋ฆฌ๊ฐ€ ์žˆ์œผ๋ฉด InventoryUI์˜ SetTarget()๋ฅผ ํ˜ธ์ถœํ•ด์„œ ํƒ€๊ฒŸ ์ธ๋ฒคํ† ๋ฆฌ๋ฅผ ์„ค์ •ํ•˜๋ฉด, ํƒ€๊ฒŸ์œผ๋กœ ์„ค์ •๋œ ์ธ๋ฒคํ† ๋ฆฌ๋ฅผ ๋ณด์—ฌ์ฃผ๊ฒŒ ๋˜๊ฒ ์ง€.


PlayerInventory์—๋Š” ๋ฐฐ์—ด๋กœ ๊ตฌ์„ฑ๋œ ์ธ๋ฒคํ† ๋ฆฌ์™€ ๋งˆ์šฐ์Šค์Šฌ๋กฏ์ด ์กด์žฌํ•จ.

์ด ๋งˆ์šฐ์Šค ์Šฌ๋กฏ์€ ์‹ค์ œ๋กœ ์กด์žฌํ•˜๋Š” ๊ณต๊ฐ„์ด๊ณ , UI์กฐ์ž‘๋ชจ๋“œ์—์„œ ํ”Œ๋ ˆ์ด ๋ชจ๋“œ๋กœ ๋˜๋Œ์•„์˜ฌ ๋•Œ ์•„์ดํ…œ์ด ๋‚จ์•„์žˆ๋‹ค๋ฉด ์•„์ดํ…œ์„ ๋ฑ‰์–ด๋ƒ„.


InventoryUI์—๋„ ๋ฐฐ์—ด๋กœ ๊ตฌ์„ฑ๋œ ์ธ๋ฒคํ† ๋ฆฌ์™€ ๋งˆ์šฐ์Šค ์Šฌ๋กฏ์ด ์กด์žฌํ•˜๋Š”๋ฐ, ์ด๊ฑด ๊ทธ๋ƒฅ PlayerInventory์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด๋“ค์—ฌ์„œ ์ •๋ณด๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์ฐฝ์— ๋ถˆ๊ณผํ•จ.


UI๋ฅผ ํ†ตํ•ด ๋ญ”๊ฐ€ ์กฐ์ž‘์„ ๋ช…๋ นํ•˜๋ฉด PlayerInventory์˜ ์‹ค์ œ ๋ฐ์ดํ„ฐ์— ์กฐ์ž‘์ด ์ผ์–ด๋‚˜๊ณ , UI๋Š” PlayerInventory์— ๋งž์ถฐ ๋™๊ธฐํ™”๋งŒ ํ•ด์ฃผ๋ฉด ๋จ.


๋งŒ์•ฝ ์ธ๋ฒคํ† ๋ฆฌUI์—์„œ ํด๋ฆญํ•ด์„œ ์•„์ดํ…œ์„ ๋“ค์–ด์˜ฌ๋ ธ๋‹ค๋ฉด, ๊ทธ ์ •๋ณด๋Š” UI์—์„œ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์Œ.

InventoryUI์—์„œ PlayerInventory์—์„œ ๋ช‡๋ฒˆ ์ธ๋ฑ์Šค์˜ ์•„์ดํ…œ์„ ์ง‘์œผ๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด, ๋งˆ์šฐ์Šค ์Šฌ๋กฏ์œผ๋กœ ํ•ด๋‹น ์•„์ดํ…œ์„ ์˜ฎ๊ฒจ์คŒ.

๊ทธ ํ›„, Ui์—์„œ๋Š” ๋™๊ธฐํ™”๋ฅผ ์ˆ˜ํ–‰ํ•ด PlayerInventory์˜ ์ธ๋ฒคํ† ๋ฆฌ์™€ ๋งˆ์šฐ์Šค ์Šฌ๋กฏ์„ ๋ณด๊ณ  ๋ณธ์ธ์˜ ์ธ๋ฒคํ† ๋ฆฌ/๋งˆ์šฐ์Šค์Šฌ๋กฏUI๋ฅผ ์—…๋ฐ์ดํŠธ ์‹œ์ผœ์ฃผ๋ฉด ๋จ.



์•„์ดํ…œ ํด๋ž˜์Šค๋Š” ๋‹จ์ˆœํžˆ ID์™€ Count๋งŒ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ.


ID๋ฅผ ์ด์šฉํ•ด ItemData์—์„œ ์ •๋ณด, ๋™์ž‘๋ฐฉ์‹ ๋“ฑ ๋ชจ๋“ ๊ฑธ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ๋งŒ๋“ค ์ƒ๊ฐ์ž„.

์ด๋Ÿฌ๋ฉด ์ด์ œ ์ธ๋ฒคํ† ๋ฆฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ, ๋ถˆํ•„์š”ํ•œ ์ƒ๊ฐ ํ•  ํ•„์š” ์—†์ด ์ˆœ์ˆ˜ํ•˜๊ฒŒ ID์™€ count๋งŒ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋‹ˆ๊น ๊น”๋”ํ•ด์ง.

ItemData๊ฐ€ ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ทธ๋ž˜๋„ ์ง€๊ธˆ์œผ๋กœ์ฌ ๋ง˜์— ๋“ฌ.


์ธ๋ฒคํ† ๋ฆฌ ์กฐ์ž‘ํ•˜๋Š” ํ•จ์ˆ˜ ๋‹ค ์งœ๋†จ๋Š”๋ฐ, ๋ง‰์ƒ ์•„์ดํ…œ ์ข…๋ฅ˜๋ฅผ ๋งŒ๋“ ๊ฒŒ ์—†์–ด์„œ ๋ณด์—ฌ์ค„๊ฒŒ ๋ณ„๋กœ ์—†๋„ค.


๋‚˜์ค‘์— ํŒจ๋„์„ ์Šคํฌ๋กค๋ทฐ๋กœ ๋งŒ๋“ค์–ด์„œ ์Šฌ๋กฏ์„ ์ถ•์†Œ์‹œํ‚ค๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ์Šคํฌ๋กค์„ ๋Š˜๋ฆฌ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐˆ ์˜ˆ์ •์ž„.

์ธ๋ฒคํ† ๋ฆฌ๋Š” 30์นธ์—์„œ ์‹œ์ž‘ํ•ด์„œ 5๊ฐœ๋‹จ์œ„๋กœ ์ฐจ๋ก€๋กœ ๋Š˜๋ ค๊ฐˆ ์˜ˆ์ •์ธ๋ฐ, ๊ท€์ฐฎ์•„์„œ ์™„์ „ํžˆ ๋™์ ์œผ๋กœ ๋งŒ๋“ค์–ด๋’€์Œ.

๋””์ž์ธ์€ ์ข€ ๊ณ ๋ฏผํ•ด๋ด์•ผ ํ•  ๋“ฏ.



์‚ฌ์‹ค ์ธ๋ฒคํ† ๋ฆฌ๋Š” 3๋…„์ „์— ์ฒ˜์Œ ๋งŒ๋“ค์–ด๋ณด๊ณ  ๊ทธ ํ›„๋กœ ํ•œ๋ฒˆ๋„ ์•ˆ๋งŒ๋“ค์–ด๋ดค๋Š”๋ฐ, ๊ทธ ๋‹น์‹œ์— ์–ด์ฉŒ๋‹ค๋ณด๋‹ˆ UI์—์„œ ์ธ๋ฒคํ† ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ๋˜ ๊ธฐ์–ต์ด ์žˆ์Œ.

์•„๋ฌด๋ฆฌ ์ƒ๊ฐํ•ด๋„ ์ž˜๋ชป๋œ ์„ค๊ณ„ ๊ฐ™์•„์„œ ์ด๋ฒˆ์—” ์ข€ ๋” ๊น”๋”ํ•˜๊ฒŒ ๊ตฌํ˜„ํ•ด๋ดค์Œ. ์‹ค๋ ฅ์ด ๋Š˜์–ด๋‚œ๊ฒŒ ๋А๊ปด์ ธ์„œ ์ข‹๋‹ค.




๊ทธ๋ฆฌ๊ณ  ํ”Œ๋ ˆ์ด์–ด ์Šคํฌ๋ฆฝํŠธ๋„ ์งœ๊ธฐ ์‹œ์ž‘ํ•จ.

Player ๋ฐ‘์— PlayerMovement, PlayerAction, PlayerInventory, PlayerUiInteraction ๋“ฑ์˜ ํ•˜์œ„ ์Šคํฌ๋ฆฝํŠธ๋“ค์ด ์žˆ์Œ.


๋‚ด๊ฐ€ ์ข‹์•„ํ•˜๋Š” ์Šคํƒ€์ผ์ด ์žˆ๋Š”๋ฐ, ๊ฐ ํ”Œ๋ ˆ์ด์–ด ํ•˜์œ„ ์Šคํฌ๋ฆฝํŠธ๋“ค์—์„œ๋Š” Start, Update๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ , ๋ชจ๋‘ ๋ชจ์•„์„œ Player ๋ฉ”์ธ ์Šคํฌ๋ฆฝํŠธ์—์„œ ํ•œ๋ฒˆ์— ํ˜ธ์ถœํ•ด์ฃผ๋Š”๊ฑฐ์ž„.

์ด๊ณณ์ €๊ณณ์—์„œ Start ํ˜ธ์ถœํ•˜๊ณ  Updateํ˜ธ์ถœํ•˜๋‹ค๋ณด๋ฉด ์ ์  ํ—ท๊ฐˆ๋ ค์ง€๋”๋ผ๊ณ .



๊ฝค ์—ด์‹ฌํžˆ ์งœ๋‘” ๋•์— ์ง€ํ˜•์— ์ •์œก๋ฉด์ฒด๋ฅผ ํŒŒ๊ดดํ•  ๋•Œ, 1์ดˆ ์ด์ƒ ๋ˆ„๋ฅด๊ณ  ์žˆ์–ด์•ผ ํŒŒ๊ดด๋œ๋‹ค๋Š” ๊ธฐ๋Šฅ์„ ์•„์ฃผ ์ˆ˜์›”ํ•˜๊ฒŒ ์ถ”๊ฐ€ํ–ˆ์Œ.

์‚ฝ์„ ๋“ค๊ณ  ์žˆ๋‹ค๋ฉด ๋” ๋น ๋ฅด๊ฒŒ ์บ˜ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ƒ๊ฐ์ธ๋ฐ, ๊ทธ ์ „์— ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š”๊ฒƒ๋“ค์ด ๋งŽ์•„์„œ ๋ณด๋ฅ˜์ค‘์ž„.


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec8ffa11d0283137a147df66c0ff0e9ff48c5b5e7856d211d027b7b40ff8480ae9fabd83fb4edffb0ba07deb5648f8174f3a49ac4f38



์ด์ œ ๋‹ค์‹œ ๋ชจ๋ธ๋ง ์—ฐ์Šตํ•˜๋Ÿฌ๊ฐ€์•ผ์ง€

ํ• ์ผ์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค