コード例 #1
0
ファイル: EnemyStats.cs プロジェクト: BasicLich/UNcertainty
    public void TakeDamage(int damage, Vector2 force)
    {
        if (immune)
        {
            return;
        }

        audioZ.Play();
        Health -= damage;
        if (isBoss)
        {
            HealthBar.fillAmount = Health / startHealth;
        }
        if (spriteMat.GetFloat("_Dissolve") >= 0.3f)
        {
            spriteMat.SetFloat("_Dissolve", Health / startHealth);
        }

        StartCoroutine(showEffect());
        if (Health <= 0)
        {
            GameObject effect = Instantiate(deathEffect, transform.position, Quaternion.identity);
            effect.GetComponent <ParticleSystemRenderer>().material = material;
            waveHandler.EnemyDeath(gameObject);
            Destroy(gameObject);
        }
        if (force != Vector2.zero)
        {
            rb.AddForce((force).normalized * 10000, ForceMode2D.Impulse);
        }
    }