Esempio n. 1
0
 public void DoubleSphereDestroy()
 {
     TiedWith.GetComponent <CircleCollider2D>().enabled  = false;
     this.Line.GetComponent <EdgeCollider2D>().enabled   = false;
     transform.GetComponent <CircleCollider2D>().enabled = false;
     StartCoroutine(DoubleSphereDeath());
 }
Esempio n. 2
0
        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);
                }
            }
        }