Exemplo n.º 1
0
    void Explode()
    {
        Debug.Log("boom!");

        //Cria uma esfera ao redor da granada usando a variável "raio"
        //Então guarda em um array todos os objetos com colliders que estiverem no raio da esfera
        Collider[] colliders = Physics.OverlapSphere(transform.position, raio);

        //Procura por objetos do tipo Explodable dentro daquela array
        foreach (Collider objetoProximo in colliders)
        {
            Explodable expl = objetoProximo.GetComponent <Explodable>();

            //Se encontrar um objeto do tipo Explodable com o mesmo TipoGranada executa o efeito deste TipoGranada
            if (expl != null && expl.tg == tg)
            {
                switch (tg)
                {
                case TipoGranada.DESTROY:
                    expl.Destroy();
                    break;

                case TipoGranada.GELO:
                    expl.Freeze();
                    break;
                }
            }
        }

        //Explode a granada
        Destroy(gameObject);
        explodiu = true;
    }