示例#1
0
    private void Update()
    {
        if (m_IsPlayerInRange)
        {
            Vector3    direction = player.position - transform.position + Vector3.up;
            Ray        ray       = new Ray(transform.position, direction);
            RaycastHit raycastHit;


            if (Physics.Raycast(ray, out raycastHit))
            {
                if (raycastHit.collider.transform == player)
                {
                    Status playerStatus = player.GetComponent <Status>();
                    if (playerStatus)
                    {
                        StartCoroutine(playerStatus.ApplyDamage(damage));
                    }

                    if (playerStatus.health <= 0)
                    {
                        gameEnding.CaughtPlayer();
                    }
                }
            }
        }
    }
示例#2
0
    void OnTriggerEnter(Collider col)
    {
        if (debug)
        {
            Debug.Log(col);
        }
        Status playerStatus = col.GetComponent <Status>();

        if (playerStatus)
        {
            playerStatus.ApplyDamage(damage);
        }
    }