Exemple #1
0
    void OnTriggerEnter(Collider other)
    {
        // other is waste being dragged into bins

        waste = other.gameObject;
        wasteComponent wc = other.gameObject.GetComponent <wasteComponent>();

        rPoint = binType == 'R' && wc.r;
        cPoint = binType == 'C' && wc.c;
        tPoint = binType == 'T' && wc.t;
    }
Exemple #2
0
    void OnTriggerEnter(Collider other)
    {
        // other is waste being dragged into bins

        waste = other.gameObject;
        wasteComponent wc     = waste.GetComponent <wasteComponent> ();
        bool           rPoint = binType == 'R' && wc.r;
        bool           cPoint = binType == 'C' && wc.c;
        bool           tPoint = binType == 'T' && wc.t;

        if (rPoint || cPoint || tPoint)
        {
            newSprite = check;
            drop      = true;
            correctAudio.Play();
        }
        else
        {
            newSprite = cross;
            wrongAudio.Play();
        }

        sr.sprite = newSprite;
    }
Exemple #3
0
    IEnumerator Generate()
    {
        while (_count > 0 && !Game.status)
        {
            Sprite     newSprite;
            Waste      waste;
            GameObject wasteObj;

            Vector3 position = coords [Random.Range(0, numCoords)];
            int     n        = Random.Range(0, 4);

            if (n == 0)
            {
                // compost only
                int s = Random.Range(0, 5);
                newSprite = compostSprites [s];
                if (s < 3)
                {
                    waste = new compostAndRecycle();
                }
                else
                {
                    waste = new Compost();
                }
            }
            else if (n == 1)
            {
                // recyclable only
                int s = Random.Range(0, 6);
                newSprite = recycleSprites [s];
                if (s >= 4)
                {
                    waste = new compostAndRecycle();
                }
                else
                {
                    waste = new Recyclable();
                }
            }
            else if (n == 2)
            {
                // trash only
                int s = Random.Range(0, 5);
                waste     = new Trash();
                newSprite = trashSprites [s];
            }
            else
            {
                // n == 3
                // compost and recyclables
                int rand = Random.Range(0, 2);
                waste = new compostAndRecycle();
                if (rand == 0)
                {
                    // pick sprite from end of recyclable sprite array
                    int s = Random.Range(4, 6);
                    newSprite = recycleSprites [s];
                }
                else
                {
                    // pick sprite from start of compost sprite array
                    int s = Random.Range(0, 3);
                    newSprite = compostSprites [s];
                }
            }
            wasteObj = wastePrefab;
            wasteComponent wc = wasteObj.GetComponent <wasteComponent> ();
            wc.waste = waste;
            wc.UpdateValues();
            SpriteRenderer oldSprite = wasteObj.GetComponent <SpriteRenderer> ();
            oldSprite.sprite = newSprite;
            yield return(new WaitForSeconds(waitTime));

            Instantiate(wasteObj, position, Quaternion.identity);
            _count--;
        }
    }