๋ด๊ฐ ๊ตฌ์ํ 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์ด ์ด์ ๋๋ฅด๊ณ ์์ด์ผ ํ๊ดด๋๋ค๋ ๊ธฐ๋ฅ์ ์์ฃผ ์์ํ๊ฒ ์ถ๊ฐํ์.
์ฝ์ ๋ค๊ณ ์๋ค๋ฉด ๋ ๋น ๋ฅด๊ฒ ์บ ์ ์๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์๊ฐ์ธ๋ฐ, ๊ทธ ์ ์ ๊ตฌํํด์ผ ํ๋๊ฒ๋ค์ด ๋ง์์ ๋ณด๋ฅ์ค์.
์ด์ ๋ค์ ๋ชจ๋ธ๋ง ์ฐ์ตํ๋ฌ๊ฐ์ผ์ง
ํ ์ผ์ด ๋๋ฌด ๋ง๋ค
๋๊ธ 0