예제 #1
0
        protected override void OnTriggerStay2D(Collider2D collision)
        {
            if (!invincible)
            {
                if (collision.CompareTag("Enemy"))
                {
                    StartCoroutine(DamageSelf(1));
                }
                else if (collision.CompareTag("Bullet"))
                {
                    UDEAbstractBullet bullet = collision.GetComponent <UDEAbstractBullet>();
                    if (bullet != null && bullet.gameObject.activeSelf && bullet.OriginCharacter is UDEEnemy)
                    {
                        UDEBulletPool.Instance.ReleaseBullet(bullet);
                        StartCoroutine(DamageSelf(1));
                    }
                }
                else if (collision.CompareTag("Laser"))
                {
                    UDELaser laser = collision.GetComponent <UDELaser>();
                    if (laser != null && laser.OriginCharacter is UDEEnemy)
                    {
                        StartCoroutine(DamageSelf(1));
                    }
                }
            }

            if (collision.CompareTag("Item"))
            {
                ItemBase item = collision.GetComponent <ItemBase>();

                if (item is Power power)
                {
                    AddScore(500);
                    AddPower(power.PowerPoint);
                }

                item.RemoveItem();
            }
        }
예제 #2
0
 public void RemoveLaser(UDELaser laser)
 {
     lasers.Remove(laser);
 }
예제 #3
0
 public void AddLaser(UDELaser laser)
 {
     lasers.Add(laser);
 }