Commit 667ec91f authored by 18류지석's avatar 18류지석

인벤토리창 버그 고침

parent 6d68fd23
...@@ -18,60 +18,68 @@ public class AddonDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDra ...@@ -18,60 +18,68 @@ public class AddonDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDra
} }
public void OnBeginDrag(PointerEventData eventData) public void OnBeginDrag(PointerEventData eventData)
{ {
transform.SetAsLastSibling(); if (eventData.button == PointerEventData.InputButton.Left)
transform.SetAsLastSibling();
} }
public void OnDrag(PointerEventData eventData) public void OnDrag(PointerEventData eventData)
{ {
transform.position = Input.mousePosition; if (eventData.button == PointerEventData.InputButton.Left)
transform.position = Input.mousePosition;
} }
public void OnEndDrag(PointerEventData eventData) public void OnEndDrag(PointerEventData eventData)
{ {
if (CheckBetween(Input.mousePosition, discardBin.position, discardBin.GetComponent<RectTransform>().sizeDelta)) if (eventData.button == PointerEventData.InputButton.Left)
{ {
if (CheckBetween(Input.mousePosition, discardBin.position, discardBin.GetComponent<RectTransform>().sizeDelta))
{
if (num < 9)
manager.DiscardAddon(num);
else
manager.DiscardAddon(ui.selectedItem, (AddonType)(num - 9));
manager.SetOnPosition();
return;
}
if (num < 9) if (num < 9)
manager.DiscardAddon(num);
else
manager.DiscardAddon(ui.selectedItem, (AddonType)(num - 9));
manager.SetOnPosition();
return;
}
if (num < 9)
{
int type = (int)manager.addonList[num].type;
if (ui.selectedItem != -1 && manager.itemList[ui.selectedItem].attachable[type])
{ {
if (CheckBetween(Input.mousePosition, ui.infoAddonsFrame[type].transform.position, ui.infoAddonsFrame[type].GetComponent<RectTransform>().sizeDelta)) int type = (int)manager.addonList[num].type;
if (ui.selectedItem != -1 && manager.itemList[ui.selectedItem].attachable[type])
{ {
if (manager.itemList[ui.selectedItem].addons[type] != null) manager.DetachAddon(ui.selectedItem, (AddonType)type); if (CheckBetween(Input.mousePosition, ui.infoAddonsFrame[type].transform.position, ui.infoAddonsFrame[type].GetComponent<RectTransform>().sizeDelta))
manager.AttachAddon(ui.selectedItem, num); {
if (manager.itemList[ui.selectedItem].addons[type] != null) manager.DetachAddon(ui.selectedItem, (AddonType)type);
manager.AttachAddon(ui.selectedItem, num);
}
} }
} }
else
{
if (CheckBetween(Input.mousePosition, addonGroup.position, addonGroup.GetComponent<RectTransform>().sizeDelta))
manager.DetachAddon(ui.selectedItem, (AddonType)(num - 9));
}
manager.SetOnPosition();
} }
else
{
if (CheckBetween(Input.mousePosition, addonGroup.position, addonGroup.GetComponent<RectTransform>().sizeDelta))
manager.DetachAddon(ui.selectedItem, (AddonType)(num - 9));
}
manager.SetOnPosition();
} }
public void OnPointerClick(PointerEventData eventData) public void OnPointerClick(PointerEventData eventData)
{ {
if (num < 9) if (eventData.button == PointerEventData.InputButton.Right)
{ {
int type = (int)manager.addonList[num].type; if (num < 9)
if (ui.selectedItem != -1 && manager.itemList[ui.selectedItem].attachable[type])
{ {
if (manager.itemList[ui.selectedItem].addons[type] != null) int type = (int)manager.addonList[num].type;
manager.DetachAddon(ui.selectedItem, (AddonType)type); if (ui.selectedItem != -1 && manager.itemList[ui.selectedItem].attachable[type])
manager.AttachAddon(ui.selectedItem, num); {
if (manager.itemList[ui.selectedItem].addons[type] != null)
manager.DetachAddon(ui.selectedItem, (AddonType)type);
manager.AttachAddon(ui.selectedItem, num);
}
} }
else
manager.DetachAddon(ui.selectedItem, (AddonType)(num - 9));
manager.SetOnPosition();
} }
else
manager.DetachAddon(ui.selectedItem, (AddonType)(num - 9));
manager.SetOnPosition();
} }
bool CheckBetween(Vector3 mouse, Vector3 center, Vector2 size) bool CheckBetween(Vector3 mouse, Vector3 center, Vector2 size)
{ {
......
...@@ -145,6 +145,11 @@ public class InventoryManager : Singleton<InventoryManager> { ...@@ -145,6 +145,11 @@ public class InventoryManager : Singleton<InventoryManager> {
{ {
GameObject tmpItem = Instantiate(droppedPrefab); GameObject tmpItem = Instantiate(droppedPrefab);
tmpItem.GetComponent<DroppedItem>().Init((Item)System.Activator.CreateInstance(System.Type.GetType(str)), pos); tmpItem.GetComponent<DroppedItem>().Init((Item)System.Activator.CreateInstance(System.Type.GetType(str)), pos);
for (int i = 0; i < 4; i++)
if (itemPool[i].Contains(str))
itemPool[i].Remove(str);
tmpItem.transform.SetParent(MapManager.currentRoom.roomInGame.transform); tmpItem.transform.SetParent(MapManager.currentRoom.roomInGame.transform);
PopoutGenerator(tmpItem, popoutStrength); PopoutGenerator(tmpItem, popoutStrength);
} }
...@@ -183,6 +188,11 @@ public class InventoryManager : Singleton<InventoryManager> { ...@@ -183,6 +188,11 @@ public class InventoryManager : Singleton<InventoryManager> {
{ {
GameObject tmpItem = Instantiate(droppedPrefab); GameObject tmpItem = Instantiate(droppedPrefab);
tmpItem.GetComponent<DroppedItem>().Init((Addon)System.Activator.CreateInstance(System.Type.GetType(str)), pos); tmpItem.GetComponent<DroppedItem>().Init((Addon)System.Activator.CreateInstance(System.Type.GetType(str)), pos);
for (int i = 0; i < 4; i++)
if (addonPool[i].Contains(str))
addonPool[i].Remove(str);
tmpItem.transform.SetParent(MapManager.currentRoom.roomInGame.transform); tmpItem.transform.SetParent(MapManager.currentRoom.roomInGame.transform);
PopoutGenerator(tmpItem, popoutStrength); PopoutGenerator(tmpItem, popoutStrength);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment