void OnCollisionEnter(Collision collision)
 {
     if (collision.gameObject.tag == "Enemy")
     {
         Debug.Log(collision.transform.name);
         if (collision.transform.name == "Head")
         {
             SBHEnemyControl enemyControl = collision.transform.parent.GetComponent <SBHEnemyControl>();
             enemyControl.HeadShot();
         }
         else if (collision.transform.name.Contains("Enemy"))
         {
             SBHEnemyControl enemyControl = collision.transform.GetComponent <SBHEnemyControl>();
             enemyControl.GunShot();
         }
     }
     else if (collision.gameObject.tag == "Unit")
     {
         SBHCivilianControl civilianControl = collision.transform.GetComponent <SBHCivilianControl>();
         civilianControl.GunShot();
     }
     else if (collision.gameObject.tag == "Obstacle")
     {
     }
     Destroy(this.gameObject);
 }
Beispiel #2
0
 private void ShootProcess(Transform target, bool isKillCivilian)
 {
     if (target.tag == "Enemy")
     {
         if (target.name == "Head")
         {
             SBHEnemyControl enemyControl = target.parent.GetComponent <SBHEnemyControl>();
             enemyControl.HeadShot();
         }
         else if (target.name.Contains("Enemy"))
         {
             SBHEnemyControl enemyControl = target.GetComponent <SBHEnemyControl>();
             enemyControl.GunShot();
         }
     }
     else if (target.tag == "Unit")
     {
         if (isKillCivilian)
         {
             SBHCivilianControl civilianControl = target.GetComponent <SBHCivilianControl>();
             civilianControl.GunShot();
         }
     }
     else if (target.tag == "Glass")
     {
         target.gameObject.SetActive(false);
         SBHSoundManger.Instance.PlayGlassAudio();
         Shoot(true);
     }
 }
Beispiel #3
0
    //void OnDrawGizmos()
    //{
    //    Transform cameraTran = camera.transform;
    //    float maxDistance = 20;
    //    int enmeyMask = 1 << 13;
    //    RaycastHit hit;
    //    // Physics.BoxCast (레이저를 발사할 위치, 사각형의 각 좌표의 절판 크기, 발사 방향, 충돌 결과, 회전 각도, 최대 거리)
    //    bool isHit = Physics.BoxCast(cameraTran.position, cameraTran.lossyScale / 2 * 3, cameraTran.forward, out hit, cameraTran.rotation, maxDistance, enmeyMask);

    //    Gizmos.color = Color.red;
    //    if (isHit)
    //    {
    //        Gizmos.DrawRay(cameraTran.position, cameraTran.forward * hit.distance);
    //        Gizmos.DrawWireCube(cameraTran.position + cameraTran.forward * hit.distance, cameraTran.lossyScale * 3);
    //    }
    //    else
    //    {
    //        Gizmos.DrawRay(cameraTran.position, cameraTran.forward * maxDistance);
    //    }
    //}

    private void AimProcess(Transform target)
    {
        if (target.tag == "Enemy")
        {
            if (target.name.Contains("Enemy"))
            {
                SBHEnemyControl enemyControl = target.GetComponent <SBHEnemyControl>();
                enemyControl.Aimed();
            }
        }
    }