Beispiel #1
0
    private void OnTriggerStay2D(Collider2D collision)
    {
        //Guardamos la referencia del enemigo en una variable para acceder luego a un método suyo
        EnemyDamageable enemigo = collision.GetComponent <EnemyDamageable>();

        if (collision.GetComponent <CompositeCollider2D>() != null)
        {
            if (lanzamiento)
            {
                clavado     = true;
                lanzamiento = false;
                agarrando   = false;
            }
            flotando = false; //Deja de afectarle la gravedad
            Debug.Log("Suelo");
            //Si además la bola ha sido lanzada por MaktFange, se queda clavada en la pared
        }
        else if (enemigo && collision.GetComponent <Shield>() == null && collision.GetComponent <SWAT>() == null)
        {
            if (lanzamiento)
            {
                enemigo.GetDamage(damage);
                lanzamiento = false;
                agarrando   = false;
            }
        }

        if (clavado)
        {
            scriptFakeHerropea.SetCollider();
        }
    }
 void Start()
 {
     rb               = GetComponent <Rigidbody2D>();
     rbplayer         = player.GetComponent <Rigidbody2D>();
     playerController = GetComponent <PlayerController>();
     enemyDamageable  = GetComponent <EnemyDamageable>();
 }
Beispiel #3
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (!collision.CompareTag("Player"))
        {
            EnemyDamageable damageableComponent = collision.GetComponent <EnemyDamageable>();

            if (damageableComponent != null)
            {
                Debug.Log("a");
                if (collision.CompareTag("ArmorEnemy") && collision.GetComponent <ArmorEnemyManager>().HasArmor() == false)
                {
                    Debug.Log("b");
                    damageableComponent.TakeDamage(damage);
                }
                else if (collision.CompareTag("ArmorEnemy") == false)
                {
                    Debug.Log("c");
                    damageableComponent.TakeDamage(damage);
                }
            }

            Destroy(this.gameObject);
        }
    }