Exemplo n.º 1
0
    //handle collision
    public void OnCollisionEnter2D(Collision2D collision)
    {
        //get healthbar in case event is a damaging collision
        PlayerHP hpScript = healthBar.GetComponent <PlayerHP>();

        if (collision.gameObject.tag == "Wall" || collision.gameObject.tag == "Player")
        {
            Instantiate(impactEffect, collision.contacts[0].point, new Quaternion());
            hpScript.Damage(1);
            onHit.Invoke();
        }
    }
Exemplo n.º 2
0
    public void OnTriggerEnter2D(Collider2D collision)
    {
        //get healthbar in case event is a damaging collision
        PlayerHP hpScript = healthBar.GetComponent <PlayerHP>();

        if (collision.gameObject.tag == "Bullet")
        {
            //handle bullet collision
            Projectile projectile = collision.gameObject.GetComponent <Projectile>();
            Instantiate(impactEffect, gameObject.transform);
            hpScript.Damage(projectile.damage);
        }
    }
    // Update is called once per frame
    void Update()
    {
        Vector3 playerDirection = (player.transform.position - transform.position).normalized;

        playerDirection.y  = 0;
        transform.rotation = Quaternion.LookRotation(playerDirection);
        rigid.AddForce(playerDirection * acelleration);

        if ((player.transform.position - transform.position).magnitude < attackRange)
        {
            PlayerHP playerHealth = player.GetComponent <PlayerHP>();
            playerHealth.Damage(damage * Time.deltaTime);
        }
    }
Exemplo n.º 4
0
 void OnTriggerEnter2D(Collider2D col)
 {
     if (col.gameObject.tag == "Wall")
     {
         Destroy(gameObject);
     }
     if (col.gameObject.tag == "Player")
     {
         CompletePlayerController player = col.gameObject.GetComponent <CompletePlayerController>();
         if ((int)player.index == 1 && gameObject.tag == "Beam2")
         {
             PlayerHP hp = col.gameObject.GetComponent <PlayerHP>();
             hp.Damage(1);
             Destroy(gameObject);
         }
         if ((int)player.index == 2 && gameObject.tag == "Beam1")
         {
             PlayerHP hp = col.gameObject.GetComponent <PlayerHP>();
             hp.Damage(1);
             Destroy(gameObject);
         }
     }
     if (col.gameObject.tag == ("Guard"))
     {
         if (!isReflect)
         {
             Instantiate(guardEffect);
             if (rig != null)
             {
                 rig.velocity *= -1;
             }
             isReflect = true;
             if (gameObject.tag == "Beam1")
             {
                 gameObject.tag = "Beam2";
             }
             else if (gameObject.tag == "Beam2")
             {
                 gameObject.tag = "Beam1";
             }
         }
         else
         {
             Instantiate(breakEffect, transform.position, Quaternion.identity);
         }
     }
 }