예제 #1
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (enabled)//si no se pone esto da error cunado embestida esta desactivado
        {
            bossmanager.NotificaEstado(out estado);

            if (collision.gameObject.tag == "Mapa")
            {
                bossmanager.CambiaEstado("Aturdido");
                rb.velocity = Vector2.zero;//no es para quitar mov, es para que se pare en seco al chocar con algo
                Invoke("CambiaMov", 3f);
            }
            else if (collision.gameObject.tag == "Player" && estado == "Embistiendo")
            {
                bossmanager.CambiaEstado("Aturdido");
                rb.velocity       = Vector2.zero;//no es para quitar mov, es para que se pare en seco al chocar con algo
                movPlayer.enabled = false;
                dir.Normalize();
                rbplayer.AddForce(dir * fuerza, ForceMode2D.Impulse);
                Invoke("CambiaMovPlayer", 0.5f);//El jugador podrá moverse antes que el boss si es embestido
                Invoke("CambiaMov", 1f);
                GameManager.instance.TakeDamage(danyo);
            }
        }
    }