๋์ถฉ ์คํฌ๋ฆฝํธ๋ก ์ง๋ณด๋ฉด
์ค์ ๋ฐ์ดํฐ ๋ค์ด๊ฐ๋ ๋ก์ง
class InventoryLogic
{
public Action<item> OnAddItem;
public Action<item> OnEraseItem;
private vector<Item> _Inventory;
public void InsertItem(item item)
{
_inventory.add(item);
OnAddItem?.invoke(item);
}
public void EraseItem(item item)
{
_inventoy.erase(item);
onEraseItem?.invoke(item);
}
}
๋ณด์ฌ์ง๋ UI๋ถ๋ถ
class InventoryVisual
{
private ์ธ๋ฒคUI;
private void Start()
{
inventorylogic logic = getcomponent(inventorylogic);
logic.onadditem += ;
logic.oneraseitme += ;
}
private void AddItem(item item)
{
์ธ๋ฒคUI.additem(item);
}
private void EraseItem(item item)
{
์ธ๋ฒคUI.eraseitem(item);
}
}
๋์ถฉ ์ด๋ฐ์์ผ๋ก ๋น์ฅฌ์ผ๋ถ๋ถ์ด๋ ๋ก์ง๋ถ๋ถ ๋ฐ๋ก๋ฐ๋ก ํ๋ผ๋๊ฑฐ์ง?
mvc ํจํด - dc App
๊ธ๊ฒ ์ด๊ฑฐ ๋ง์?
์ด๋ค ๋ฐฉ์์ ์ธ๋ฒคํ ๋ฆฌ๋์ ๋ฐ๋ผ ๋ค๋ฅผ๊ฑฐ๊ฐ์๋ฐ ๋๋ ์ธ๋ฒคํ ๋ฆฌ gui์ ๋ํ ์ฝ๋๋ ๊ฐ์์ ์ธ๋ฒคํ ๋ฆฌ ๊ณต๊ฐ์์ ์์ดํ ์ด๋ฏธ์ง, ์๋๋ง ๋ฐ์์ค๋๋ก ๋ง๋ค์์ (๊ฐ ์ธ๋ฒคํ ๋ฆฌ ์ ์ ๋ฟ๋ ค์ฃผ๋ ์ฉ๋). ์ด๋ฌ๋ฉด refresh ํ๋ฒ์ผ๋ก ๊ฐ์ ์ธ๋ฒคํ ๋ฆฌ์ ์์ดํ ์ด ์๋ ์๋๋ง ์ฒดํฌํ๋ฉด ๋๋๊น..
ใ ใ ui๋ ๋ฐ์ดํฐ์ ์์กด์ ์ด์ฌ์ผ ํ๊ณ ๋ง์ฝ ๋ฐ์ดํฐ๊ฐ ui์ ์์กด์ ์ด๊ฒ๋๋ ์๊ฐ ๊ผฌ์ผ์๋ฐ์ ์์
๋์ถฉ ๊ทธ๋ฐ ๋๋ ๋ง๊ธด ํจ Visual์ชฝ์ OpenInventory ๊ฐ์ ๋ฉ์๋๋ ์์ดํ ์ ๋๋๊ทธํด์ ๋ค๋ฅธ ์นธ์ ๋จ์ ๋ ๋์๊ฐ์ ๊ฒ๋ ๊ณ ๋ฏผํด๋ณด๋ฉด ์ข์๋ฏ