コード例 #1
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        //Collider2D[] colliders = Physics2D.OverlapCircleAll(transform.position,m_ExplosionRadius,m_TankMask);
        //for(int i= 0; i< colliders.Length; i++)
        //{
        //    Rigidbody2D targetRigidbody = colliders[i].GetComponent<Rigidbody2D>();
        //    if (!targetRigidbody)
        //        continue;

        //    TankHealth targetHealth = targetRigidbody.GetComponent<TankHealth>();
        //    Debug.Log(targetRigidbody.name);
        //    if (!targetHealth)
        //        continue;

        //    targetHealth.TakeDamge(m_ShellDamage);

        //}

        if (collision.gameObject.layer == 8 || collision.gameObject.layer == 9)
        {
            TankHealth targetHealth = collision.GetComponent <TankHealth>();
            targetHealth.TakeDamge(m_ShellDamage);
            m_ExplosionParticles.transform.parent = null;
            m_ExplosionParticles.Play();
            m_ExplosionAudio.Play();
            Destroy(m_ExplosionParticles.gameObject, m_ExplosionParticles.main.duration);
            Destroy(gameObject);
        }
    }
コード例 #2
0
ファイル: AutoRocket.cs プロジェクト: TankGameProject/Tank
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.gameObject.layer == 9)
        {
            TankHealth targetHealth = collision.GetComponent <TankHealth>();
            Instantiate(explosion, transform.position, Quaternion.identity);

            targetHealth.TakeDamge(m_RocketDamage);
            Destroy(this.gameObject);
        }
    }
コード例 #3
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        TankHealth targetHealth = collision.gameObject.GetComponent <TankHealth>();

        targetHealth.TakeDamge(m_TankHitDamage);
    }