public void DoubleSphereDestroy() { TiedWith.GetComponent <CircleCollider2D>().enabled = false; this.Line.GetComponent <EdgeCollider2D>().enabled = false; transform.GetComponent <CircleCollider2D>().enabled = false; StartCoroutine(DoubleSphereDeath()); }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.tag == "Cut") { transform.GetComponent <CircleCollider2D>().enabled = false; audioSource.Play(); GameObject waterSplash = Instantiate(gameInit.waterSplashPrefab, collision.transform.position, new Quaternion()); Destroy(waterSplash, 1f); if (gameObject != null) { GameObject.Find("Canvas").transform.GetChild(3).GetChild(0).GetComponent <Image>().fillAmount -= .3f; if (GameObject.Find("Canvas").transform.GetChild(3).GetChild(0).GetComponent <Image>().fillAmount <= 0) { GameOver(); StopCoroutine(Move()); gameInit.gameOverUI.SetActive(true); } gameInit.spheres.Remove(gameInit.spheres.Find(_ => _ == gameObject)); gameInit.NumberOfSpheres -= 1; if (IsTied) { StopCoroutine(Move()); Destroy(Line); gameInit.lines.Remove(gameInit.lines.Find(_ => _ == gameObject)); TiedWith.GetComponent <Sphere>().IsTied = false; } gameObject.GetComponent <Animator>().SetBool("IsTouched", true); } } if (collision.tag == "Sphere") { if (gameObject != null) { audioSource.Play(); GameObject sphereTouchEffect = Instantiate(gameInit.sphereDeathEffectPrefab, collision.transform.position, new Quaternion()); Destroy(sphereTouchEffect, 1f); GameObject.Find("Canvas").transform.GetChild(3).GetChild(0).GetComponent <Image>().fillAmount -= .2f; if (GameObject.Find("Canvas").transform.GetChild(3).GetChild(0).GetComponent <Image>().fillAmount == 0) { GameOver(); StopCoroutine(Move()); gameInit.gameOverUI.SetActive(true); } gameInit.spheres.Remove(gameInit.spheres.Find(_ => _ == gameObject)); gameInit.NumberOfSpheres -= 1; gameInit.lines.Remove(gameInit.lines.Find(_ => _ == gameObject)); DoubleSphereDestroy(); Destroy(Line); } } }