Example #1
0
    private void OnTriggerEnter(Collider other)
    {
        // 感染対象のウィルスを確認
        Virus virus = other.gameObject.GetComponent <Virus>();

        if (virus == null)
        {
            return;
        }
        if (virus.IsInfected() == true)
        {
            return;
        }

        if (!virus.GetvirusFlag())
        {
            virus.SetVirusFlag(true);
        }

        // 感染候補者を登録
        if (m_candidate)
        {
            float canDist = (m_candidate.gameObject.transform.position - this.transform.position).magnitude;
            float dist    = (other.gameObject.transform.position - this.transform.position).magnitude;

            if (canDist > dist)
            {
                m_candidate = virus;
            }
        }
        else
        {
            m_candidate = virus;
        }
    }