コード例 #1
0
    /// <summary>
    /// When colliding with player projectiles, take damage if it hasn't been hit by it yet.
    /// </summary>
    /// <param name="otherCollider"></param>
    void OnTriggerEnter2D(Collider2D otherCollider)
    {
        Projectile projectile = otherCollider.gameObject.GetComponent <Projectile>();

        if (projectile == null)
        {
            Debug.Log("Null");
            return;
        }
        if (projectile.isEnemy)
        {
            return;
        }

        if (!projectile.AddHitID(group.enemyId))
        {
            return;
        }

        if (invincibleEnemy.value)
        {
            return;
        }

        group.TakeDamage(projectile.damage);

        Transform t = Instantiate(damageNumbers);

        t.position = transform.position;
        DamageNumberDisplay dnd = t.GetComponent <DamageNumberDisplay>();

        dnd.damage = projectile.damage;
        battleGUI.damages.Add(dnd);
        id++;
    }
コード例 #2
0
    /// <summary>
    /// When colliding with player projectiles, take damage if it hasn't been hit by it yet.
    /// </summary>
    /// <param name="otherCollider"></param>
    void OnTriggerEnter2D(Collider2D otherCollider)
    {
        Projectile projectile = otherCollider.gameObject.GetComponent <Projectile>();

        if (projectile == null)
        {
            Debug.Log("Null");
            return;
        }
        if (projectile.isEnemy)
        {
            return;
        }

        if (!projectile.AddHitID(group.enemyId))
        {
            return;
        }

        if (invincibleEnemy.value)
        {
            return;
        }

        group.TakeDamage((onehitKO.value) ? group.maxhp : projectile.damage);

        Transform t = Instantiate(damageNumbers);

        t.position = transform.position;
        DamageNumberDisplay dnd = t.GetComponent <DamageNumberDisplay>();

        dnd.damage = projectile.damage;
        battleGUI.damages.Add(dnd);
        id++;

        if (projectile.impactSound != null)
        {
            currentSfx.value.Enqueue(projectile.impactSound.clip);
            playSfxEvent.Invoke();
        }
    }