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)"; } }
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); } }
public void addComponent(ComponentObstacle c) { components.Add(c); }