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

인벤토리창 버그 고침

parent 6d68fd23
......@@ -18,60 +18,68 @@ public class AddonDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDra
}
public void OnBeginDrag(PointerEventData eventData)
{
transform.SetAsLastSibling();
if (eventData.button == PointerEventData.InputButton.Left)
transform.SetAsLastSibling();
}
public void OnDrag(PointerEventData eventData)
{
transform.position = Input.mousePosition;
if (eventData.button == PointerEventData.InputButton.Left)
transform.position = Input.mousePosition;
}
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)
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);
manager.AttachAddon(ui.selectedItem, num);
if (CheckBetween(Input.mousePosition, ui.infoAddonsFrame[type].transform.position, ui.infoAddonsFrame[type].GetComponent<RectTransform>().sizeDelta))
{
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)
{
if (num < 9)
if (eventData.button == PointerEventData.InputButton.Right)
{
int type = (int)manager.addonList[num].type;
if (ui.selectedItem != -1 && manager.itemList[ui.selectedItem].attachable[type])
if (num < 9)
{
if (manager.itemList[ui.selectedItem].addons[type] != null)
manager.DetachAddon(ui.selectedItem, (AddonType)type);
manager.AttachAddon(ui.selectedItem, num);
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);
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)
{
......
......@@ -145,6 +145,11 @@ public class InventoryManager : Singleton<InventoryManager> {
{
GameObject tmpItem = Instantiate(droppedPrefab);
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);
PopoutGenerator(tmpItem, popoutStrength);
}
......@@ -183,6 +188,11 @@ public class InventoryManager : Singleton<InventoryManager> {
{
GameObject tmpItem = Instantiate(droppedPrefab);
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);
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