Exemple #1
0
    void spawnCompound()
    {
        currentCompound = new CompoundObstacle();
        int count = Random.Range(2, 5);

        for (int i = 0; i < count; i++)
        {
            Vector3 pos = new Vector3(
                9 + Random.Range(0, 6),
                Random.Range(-4, 4),
                -2
                );
            bool posOK          = true;
            ComponentObstacle c = (ComponentObstacle)Instantiate(componentPrefab, pos, Quaternion.identity);
            if (c.GetComponent <Collider2D> ().OverlapCollider(contactFilter, res) > 0)
            {
                Destroy(c.gameObject);
                posOK = false;
            }
            if (posOK)
            {
                currentCompound.addComponent(c);
            }
        }
        if (currentCompound.getComponentCount() == 0)
        {
            currentCompound = null;
        }
        else
        {
            componentCountLabel.text = currentCompound.getComponentCount() + " component(s)";
        }
    }
Exemple #2
0
 void OnTriggerEnter2D(Collider2D collider)
 {
     if (collider.gameObject.CompareTag("Coin"))
     {
         if (Environment.soundEnabled)
         {
             env.playCoinSFX();
         }
         env.changeScore(isControlled ? 5 : 10);
         env.destroyCoin(collider.gameObject);
     }
     else if (collider.gameObject.CompareTag("Component"))
     {
         if (Environment.soundEnabled)
         {
             getCompounds [componentsPassed].Play();
         }
         componentsPassed++;
         ComponentObstacle c = collider.gameObject.GetComponent <ComponentObstacle> ();
         c.pass();
         env.changeScore(isControlled ? 50 : 100);
     }
 }
Exemple #3
0
 public void addComponent(ComponentObstacle c)
 {
     components.Add(c);
 }