Example #1
0
    void UpdateGrabbedItem()
    {
        Vector3 pos;

        if (Application.isMobilePlatform)
        {
            pos = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position);
        }
        else
        {
            pos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        }
        pos.z = 0;
        grabbedItem.transform.position = pos;
        if (Input.GetMouseButtonUp(0))
        {
            Ingredient grabbedIngredient = grabbedItem.GetComponent <Ingredient>();
            Sushi      grabbedSushi      = grabbedItem.GetComponent <Sushi>();

            // Om spelaren drar en ingrediens på en sushibit så lägg ihop värderna och ge ett nytt värde
            if (selectedSushi != null && grabbedIngredient != null)
            {
                selectedSushi.sushiNumber = grabbedIngredient.AddIngredient(selectedSushi.sushiNumber);
                grabbedIngredient.NewValue();
                selectedSushi.GetComponent <Squasher>().m_xSquish = 0.5f;
                selectedSushi.AddIngredientImage(grabbedIngredient);

                Instantiate(sound_AddIngrediens);
                // Förlorar pengar för varje använd ingrediens

                /*
                 * money -= 5;
                 */
            }
            // Om spelaren drar en sushibit på löpband
            if (mouseOnBelt && grabbedSushi != null)
            {
                belt.ActivateAnimation();
                bool failedOrder = true;
                grabbedSushi.transform.position = SushiConveyPoint.transform.position;
                //Kollar om spelaren skicade in en av de korrekta beställningarna
                foreach (Ordering order in orders)
                {
                    if (order != null && order.orderIsActive)
                    {
                        // Om beställningen är lyckad
                        if (order.orderNumber == grabbedSushi.sushiNumber)
                        {
                            //	grabbedSushi.GetComponent<Grabbable>().Release();
                            failedOrder = false;
                            order.SucessfulOrder();
                            pos.z = 0;

                            Instantiate(sound_sucess, SushiConveyPoint.position, Quaternion.identity);
                            SucessfulOrder();
                            break;
                        }
                    }
                }
                // Om det inte var en av de korrekta beställningarna
                if (failedOrder)
                {
                    Instantiate(sound_fail);
                    grabbedSushi.ResetSushi();
                }

                grabbedSushi.SetOnConveyor();
                grabbedItem = null;
            }
            // Släpper saken och sätter tillbaka den till originalpositionen om den inte är placerad på bältet
            else
            {
                DropItem();
            }

            // Nollställer om man har fingret över något
            if (Application.isMobilePlatform)
            {
                selectedSushi = null;
                mouseOnBelt   = false;
            }
        }
    }