public void MouseDrop() // スロットの上にアイテムがドロップされた時に実行 { if (FindObjectOfType <DragSlot>() == null || panelParam) { return; } foreach (Transform child in customslot_c) { child.gameObject.transform.GetComponent <CustomSlot>().BatsuEnd(); } AudioManager.Instance.PlaySE("closing-wooden-door-1"); transform.GetChild(0).GetComponent <Image>().sprite = null; myItemData = null; dragSlot = FindObjectOfType <DragSlot>(); // DragItemUIに設定しているDragItemDataスクリプトからアイテムデータを取得 myItemData = dragSlot.GetItem(); int id = myItemData.GetItemId(); if (id > 2 && panelParam == false) { itemSlot = dragSlot.GetSlotData(); //ドラッグしてきた持ち物パネルを取得持ち物 //Debug.Log(itemSlot); ShowInformation(); //カスタムパネルに装備 panelParam = true; pocketStatus.SetItemData(myItemData, slotNum); switch (dragSlot.GetDeleteNum()) { case 1: myItemStatus.SetItemCount(id, -1); ProcessingSlot processingSlot = itemSlot.GetComponent <ProcessingSlot>(); StartCoroutine(processingSlot.displayCount()); if (myItemStatus.GetItemCount(id) <= 0) { myItemStatus.SetItemFlag(id, false); itemSlot.GetComponent <ProcessingSlot>().PanelDelete(); } break; case 3: itemSlot.GetComponent <PocketItem>().PanelDelete(); break; default: break; } } dragSlot.DeleteDragItem(); // ドラッグしているアイテムデータの削除 //pocketStatus.SetItemData(myItemData, slotNum); }
public void MouseDrop() // スロットの上にアイテムがドロップされた時に実行 { if (FindObjectOfType <DragSlot>() == null || panelParam) { return; } foreach (Transform child in itemslot_c) { child.gameObject.transform.GetComponent <PocketItem>().BatsuEnd(); } AudioManager.Instance.PlaySE("closing-wooden-door-1"); dragSlot = FindObjectOfType <DragSlot>(); // DragItemUIに設定しているDragItemDataスクリプトからアイテムデータを取得 myItemData = dragSlot.GetItem(); id = myItemData.GetItemId(); dataName = dragSlot.GetSlotData(); //ドラッグしてきた持ち物パネルを取得 switch (panelParam) { case false: if (myItemData.GetItemSet() == PocketStatus.Pocket.none) { switch (id) { default: case 0: plusPower = myItemData.GetItemPower(); break; case 1: plusPower = myItemData.GetItemSpeed(); break; case 2: plusPower = myItemData.GetItemDefence(); break; } wm.AttachParts(plusPower, id); ShowInformation(); panelParam = true; } break; default: dataName = null; break; } if (myItemData.GetItemSet() != PocketStatus.Pocket.none) { return; } switch (dragSlot.GetDeleteNum()) { case 1: myItemStatus.SetItemCount(id, -1); var processingSlot = dataName.GetComponent <ProcessingSlot>(); processingSlot.StartCoroutine("displayCount"); if (myItemStatus.GetItemCount(id) <= 0) { myItemStatus.SetItemFlag(id, false); processingSlot.PanelDelete(); } break; case 2: dataName.GetComponent <CustomSlot>().PanelDelete(); break; case 3: break; default: break; } dragSlot.DeleteDragItem(); // ドラッグしているアイテムデータの削除 }
public void MouseDrop() //item_panelでアイテムをもったままドラッグ終了したら呼び出す { if (FindObjectOfType <DragSlot>() == null) { //print("ok"); return; } var dragSlot = FindObjectOfType <DragSlot>(); // DragItemUIに設定しているDragItemDataスクリプトからアイテムデータを取得 myItemData = dragSlot.GetItem(); var id = myItemData.GetItemId(); if (dragSlot.GetSlotData() != null) { customObject = dragSlot.GetSlotData(); } switch (myItemData.GetItemType()) //取得したアイテムのパネルを表示 { case MyItemStatus.Item.parts1: callNum = 1; if (myItemStatus.GetItemFlag(MyItemStatus.Item.parts1) == false) { myItemStatus.SetItemFlag(id, true); } break; case MyItemStatus.Item.parts2: callNum = 1; if (myItemStatus.GetItemFlag(MyItemStatus.Item.parts2) == false) { myItemStatus.SetItemFlag(id, true); } break; case MyItemStatus.Item.parts3: callNum = 1; if (myItemStatus.GetItemFlag(MyItemStatus.Item.parts3) == false) { myItemStatus.SetItemFlag(id, true); } break; case MyItemStatus.Item.mon: callNum = 1; if (myItemStatus.GetItemFlag(MyItemStatus.Item.mon) == false) { myItemStatus.SetItemFlag(id, true); } break; case MyItemStatus.Item.ball: callNum = 1; if (myItemStatus.GetItemFlag(MyItemStatus.Item.ball) == false) { myItemStatus.SetItemFlag(id, true); } break; case MyItemStatus.Item.riyo: callNum = 1; if (myItemStatus.GetItemFlag(MyItemStatus.Item.riyo) == false) { myItemStatus.SetItemFlag(id, true); } break; default: break; } switch (dragSlot.GetDeleteNum()) { case 1: break; case 2: myItemStatus.SetItemCount(id, 1); CreateSlot(itemDataBase.GetItemData()); customObject.GetComponent <CustomSlot>().PanelDelete(); break; case 3: myItemStatus.SetItemCount(id, 1); CreateSlot(itemDataBase.GetItemData()); customObject.GetComponent <PocketItem>().PanelDelete(); break; } }
public void DropDragItem() //捨てるアイテムのアイテムデータ取得 { if (FindObjectOfType <DragSlot>() == null) { return; } var dragSlot = FindObjectOfType <DragSlot>(); //アイテムがドロップされた時に、どのようなアイテムかを取得 myItemData = dragSlot.GetItem(); var id = myItemData.GetItemId(); if (dragSlot.GetSlotData() != null) { deleteSlot = dragSlot.GetSlotData(); } // Vector3 p_pos = GameObject.Find("Sphere").transform.position; // Vector3 p_pos = new Vector3 // ( // myPlayer.transform.position.x, // myPlayer.transform.position.y + 1.0f, // myPlayer.transform.position.z + 0.8f // ); switch (dragSlot.GetDeleteNum()) { case 1: myItemStatus.SetItemCount(id, -1); var processingSlot = deleteSlot.GetComponent <ProcessingSlot>(); processingSlot.StartCoroutine("displayCount"); if (myItemStatus.GetItemCount(id) <= 0) { myItemStatus.SetItemFlag(id, false); deleteSlot.GetComponent <ProcessingSlot>().PanelDelete(); } break; case 2: myItemStatus.SetItemCount(id, 0); deleteSlot.GetComponent <CustomSlot>().PanelDelete(); break; case 3: myItemStatus.SetItemCount(id, 0); deleteSlot.GetComponent <PocketItem>().PanelDelete(); break; default: break; } // ドロップされたアイテムのタイプを取得し、プレイヤーの場所にオブジェクトを生成 itemSpawner.CallItemSpawn(this.gameObject, myPlayer.gameObject.transform.position, id); dragSlot.DeleteDragItem(); }