コード例 #1
0
    void CheckHit()
    {
        Collider[] cols = Physics.OverlapSphere(transform.position, m_hitRadius);

        foreach (Collider col in cols)
        {
            if (col.isTrigger == true)
            {
                continue;
            }

            CharControl charControl = col.GetComponent <CharControl>();
            if (charControl == null)
            {
                m_moveStop = true;
                return;
            }

            if (charControl.gameObject == m_owner)
            {
                continue;
            }

            charControl.TakeDamage(null, transform.position, m_direction, 1.0f);
            Destroy(gameObject);
            return;
        }
    }
コード例 #2
0
    void EventAttack()
    {
        Vector3 center = transform.TransformPoint(m_attackOffset);
        float   radius = m_attackRadius;


        Debug.DrawRay(center, transform.forward, Color.red, 0.5f);

        Collider[] cols = Physics.OverlapSphere(center, radius);

        foreach (Collider col in cols)
        {
            CharControl charControl = col.GetComponent <CharControl>();
            if (charControl == null)
            {
                continue;
            }

            if (charControl == this)
            {
                continue;
            }

            charControl.TakeDamage(this, center, transform.forward, 1.0f);
        }
    }