public void Build() { if (blueMet && redMet && yellowMet) { GameObject tree = Instantiate(prefab, transform.position + offset, Quaternion.identity); tree.GetComponent <SpriteRenderer>().color = treeColor; if (!GameController.instance.GetAltSFX()) { SFXManager.instance.Play("Build", false); } else { SFXManager.instance.Play("Build", false, 0.5f); } GameController.instance.PayCost(blueReq, yellowReq, redReq); if (GameController.instance.tutorial) { GameController.instance.tutorial = false; } if (activatesTeleporter) { teleporter.SetActive(true); } GameController.instance.ResetPickupSFX(); GameController.instance.TreeBuilt(); Level4Manager level4 = FindObjectOfType <Level4Manager>(); if (level4 != null) { level4.treesBuilt++; } if (activatesWarp) { warpChecker.AddBuilt(); } Destroy(gameObject); } }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.tag == "Player" || collision.tag == "Enemy") { string number = 1.ToString(); if (!GameController.instance.GetAltSFX()) { switch (GameController.instance.lastPickupSFXNumber) { case 3: number = "4"; GameController.instance.lastPickupSFXNumber = 4; break; case 4: number = "5"; GameController.instance.lastPickupSFXNumber = 5; break; case 5: number = "6"; GameController.instance.lastPickupSFXNumber = 6; break; case 6: number = "7"; GameController.instance.lastPickupSFXNumber = 7; break; case 7: number = "8"; GameController.instance.lastPickupSFXNumber = 8; break; case 8: number = "3"; GameController.instance.lastPickupSFXNumber = 3; break; } SFXManager.instance.Play("Pickup" + number, false); } else { number = Random.Range(1, 4).ToString(); SFXManager.instance.Play("PickupAlt" + number, false); } if (collision.tag == "Player") { switch (type) { case PickupType.Blue: GameController.instance.AddBlue(1); break; case PickupType.Red: GameController.instance.AddRed(1); break; case PickupType.Yellow: GameController.instance.AddYellow(1); break; } } Instantiate(destroyBurst, transform.position + new Vector3(0f, 0f, -5f), Quaternion.identity); Level4Manager level4 = FindObjectOfType <Level4Manager>(); if (level4 != null) { level4.PickupCollected(); } Destroy(gameObject); } }