예제 #1
0
    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);
    }
예제 #2
0
    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();                          // ドラッグしているアイテムデータの削除
    }
예제 #3
0
    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;
        }
    }
예제 #4
0
    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();
    }